HGIMG3のXファイル読み込み
ウナコーワ 2013/6/9(Sun) 17:19:44|NO.54752
質問です。
HGIMG3にて、xファイルを読み込む時にxファイルを例えばカレントフォルダ上のxフォルダに入れてあるとして
それを読み込むのに、
addxfile hoge,"x/hogehoge.x"
としています。
これのテクスチャはtextureフォルダ等xファイルそのものとは別にしておこうと思ったのですが実現の仕方がわかりません。
フォルダを統一するか、テクスチャのみカレントフォルダ直下に置いておけば動作は問題ないのですが、もしxファイルとテクスチャを別々に指定する方法がありましたら教えて下さい。
cats 2013/6/9(Sun) 18:02:57|NO.54755
Xファイルに書かれている画像ファイル名を
絶対パスから相対パスにしてみたらどうですか?
試してないのでわかりませんが。
ZAP 2013/6/9(Sun) 21:16:47|NO.54763
xファイルに書かれているテクスチャファイルの情報自体を書き換えるしかないと思います。
xファイルをテキストファイルで開いて、
Material {
(中略)
TextureFilename {
"ファイル名";
}
}
となっている部分のファイル名を、相対パスで、例えば
"texture\\ファイル名";
といったふうに書き換えてみてください。
なお、HSP側でxファイルを読み込むときのカレントフォルダからの
相対パスとなりますので、その点には注意が必要です。
ウナコーワ 2013/6/11(Tue) 01:02:44|NO.54816
回答頂いたお二人ともありがとうございました。
やっぱりそれしかないですよね。
以前C++ベースのエンジンで作成(プログラマは別人)していた時は
(モデルデータは同じです)
別々にプログラム上から指定して読み込んでいたようだったので
hgimg3でも再現可能かな?と思ったので確認の意味を込めて質問させていただきました。
暇人 2013/6/11(Tue) 01:46:57|NO.54817
試してないけど
TextureFilenameはパス無しのファイル名だけで設定されてるとしたら
起動時のカレントフォルダを変数に保存して
テクスチャーのあるフォルダにカレントフォルダを移動して
モデル読み込みは保存してある元のカレントフォルダを利用する
dircur=dir_cur
chdir dircur+"/x/texture"
addxfile hoge,dircur+"x/hogehoge.x"
chdir dircur //全てのxモデルの読み込みが終ったら一応戻す
暇人 2013/6/11(Tue) 02:12:28|NO.54820
あ、間違った
>addxfile hoge,dircur+"x/hogehoge.x"
を
addxfile hoge,dircur+"/x/hogehoge.x"
に修正