HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2024
1222
buhioGPBファイルのテクスチャパス指定について5解決


buhio

リンク

2024/12/22(Sun) 12:29:16|NO.102760

どうもこんにちわ

gpbファイルのテクスチャパスについて質問です。

マニュアルには、「テクスチャが必要な場合は、同じフォルダ内の画像ファイルも読み込まれます。」
とあります。さらに、
「FBXが参照するテクスチャは、gpbconv.exeで変換した場合、マテリアル情報(.material)に 出力されるテクスチャファイル名は、resフォルダ以下に統一されます。 正しく読み込みができない場合は、テクスチャ(画像)ファイルが、.materialファイルで 指定された場所に存在するか確認をしてみてください。」
と記載されています。

マテリアルファイルに、「res/~.png」と指定した場合、GPBと同じフォルダにテクスチャがあれば、例えresフォルダが無くても、正しく読み込まれます
(res/に画像が無いので、同一フォルダが検索されている?)

しかし、マテリアルファイルに「適当な存在しないパス/~.png」と指定すると、テクスチャは読み込まれません。
(パスが存在せずだが、GPBと同一フォルダは検索されない?)

こうなると、マテリアルファイルのパスは、「res/~.png」で統一しておく方がよいと考えられるのですが、皆さんの環境ではどうでしょうか?

拙作のGPBファイルビューアで表示した場合、「res/~.png」形式だと、GPBがどこのフォルダにあっても正しく表示されましたのでなんだか混乱してきました。



この記事に返信する


buhio

リンク

2024/12/22(Sun) 12:54:13|NO.102761

自己レス

HGIMG4ツールのマニュアルに、「 (読み込まれるテクスチャは.gpbファイルと同じフォルダに存在している必要があります) 」
と記載があります。
 
1、通常は「res/~.png」で記載して、GPBファイルと同一フォルダにテクスチャを置いておけばよい。
2、テクスチャをフォルダで分けて管理している場合には、パスを指定する形式で

ということでしょうか。。
標準のHGIMF4ツールのプレビューでも存在しないパスだと、例え同一フォルダにテクスチャがあったとしても読み込まれませんでした

まぁいいのかな、これで(*^。^*)
なんかしってたら教えてください。



buhio

リンク

2024/12/22(Sun) 13:21:43|NO.102762

なんどもすいません

どうも、chdir カレントディレクトリが影響しているようです。

①filedialogでファイルを選択するとカレントディレクトリがGPBのフォルダになる
同一フォルダのテクスチャは表示される。
(HGIMG4ツールやGPBファイルビューア)

②ソースファイルで、GPBファイルを指定する
カレントディレクトリは変わらないので、テクスチャが見つからない
正しく表示できない

という違いがあるようでした。まちがってたらご指摘くださいませ
chdirで試したらうまく読み込んだので、おそらくこれだろうと自己レス。。。



アキアキノヒロロ

リンク

2024/12/22(Sun) 14:39:25|NO.102764

> [res]フォルダ直下に、GPBファイル、マテリアルファイル、画像ファイル
> 「res/~.png」

> [res]フォルダ内の、[○〇]フォルダ内の、[□□]フォルダに、上記3ファイル
> 「res/○〇/□□/~.png」

この表記法で、マテリアルファイルに記載しないと、プログラムからは、画像は表示されません。
白い線画表示になってしまいます。


以前は、たいてい「res/~.png」で間に合っていたと思いますが、
HSP3 のどこかのバージョンアップで、上記の表記法に変わったと記憶しています。
この問題について、掲示板で読んだ覚えがあります。

[shaders]フォルダは、常に[res]フォルダ直下ですが。



buhio

リンク

2024/12/22(Sun) 15:42:56|NO.102765

https://hsp.tv/play/pforum.php?mode=pastwch&num=97105#97464

β4から変更ですかね。。

上記回答からshadersフォルダが固定されているのはわかりました。たしかに拙作GPBファイルビューアもres/shadersフォルダを内包しています。

マテリアルのパス指定は、なんだかまだモヤモヤします。
しかしなんとなく注意点はわかったような、、、?

①フォルダでGPBファイルを分けて管理しようとすると、materialファイルのパス記述は修正が必要だということですね。
②どうしてもmaterialを修正したくなければ、gploadする前にchdirでカレントディレクトリを変更する。

ふーむ



buhio

リンク

2024/12/22(Sun) 15:53:42|NO.102766

①gpreset時のカレントフォルダ res/shadersが参照される
 だから、本家のビューアでもgpreset前にsample/hgimg4フォルダに変更してres/shadersが参照できるようになっている。
 もし、本家ビューアーにユーザーシェーダを読み込ませたいなら、sample/hgimg4/res/shadersに自分のシェーダを入れておく。

;参考 hspsdk/gpbpreview.hsp hgimg_dir = dir_exe+"\\sample\\hgimg4" chdir hgimg_dir gpreset

なるほど、GPBファイルビューアの仕様も直す必要があるな( ゚Д゚)



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.102760への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>~</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2025(c) All rights reserved.