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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0325
cdhgimg3のsetxinfo5解決


cd

リンク

2009/3/25(Wed) 22:01:38|NO.24128

hgimg3のsetxinfo命令を使って、プログラム上からxファイルのテクスチャを
変えたいのですが、そのモデルを使っているすべてのオブジェクトに影響するバグがあります。

過去に指摘されていますが
http://hsptv.sakura.ne.jp/play/pforum.php?mode=pastwch&num=781

他にxファイルのテクスチャを変える命令や方法とかってありませんよね?
いや、ちょっとずつテクスチャが異なるxファイルが大量に必要なので・・。



この記事に返信する


ヒカリ

リンク

2009/3/26(Thu) 17:55:26|NO.24181

これはバグっていうよりも、仕様なんじゃないかな。描画速度安定のための。

ちょっと聞きますけど、cdさんの言う「xファイル」っていうのは
「xモデル」の間違いではないですよね?
あるいは「xモデルを使ったオブジェクト」でもないですよね?

単に xファイルを量産したければ、モデリングツールでコツコツ作るか
頑張ってxファイルを解析すしてuv座標をいじるか、になりますが…。

xモデルをたくさん作りたい場合は、過去の記事にあったような方法しかないと思います。



cd

リンク

2009/3/26(Thu) 18:52:00|NO.24182

仕様ですか、ありがとうございます。

>ちょっと聞きますけど・・・
「〜.x」のファイルです。

形は同じで テクスチャが異なるXファイルを、40種類ほど使いたいのですが、
Xファイルを40個も読みこむと結構重いんです。
1つだけXファイルを作成・読み込んで、プログラム上からテクスチャを置き換えた方が早いと思ったのですが。

(まだ根本的な解決になってないので、解決チェックは入れません。すいません。)



A

リンク

2009/3/27(Fri) 15:49:37|NO.24206

憶測だけどhgimg3は
同モデルのオブジェクトは各自のSetMaterialとかSetTextureとかを省略してるんだと思う。
それをしちゃうと40個のモデルを用意した時と同じ処理になって速度は変わらないかも。



r

リンク

2009/3/27(Fri) 23:36:12|NO.24214

HGIMGは2.x時代にちょろっと使ってた程度だけど…

読み込んだファイルが「モデル」
それをコピーして姿だけ借りたのが「オブジェクト」という解釈。
2Dで言うと、バッファ上の画像が「モデル」
それをスクリーンにコピーするのが「オブジェクト」
setxinfo等の設定を施す命令は、モデルに対して行うので
コピー元が変化したら同じ場所を参照しているオブジェクトが全て変化する
というわけです。

>形は同じで テクスチャが異なるXファイルを、40種類ほど使いたいのですが
40個とも同じモデルを読み込んで
その1つ1つにテクスチャを張り替える命令を使えば
少なくとも用意するファイルは少なく出来ます。
この方法だと結局メモリは40個分必要なので重いのはどうしようもないです。
40種類というのが譲れないのなら別の部分で妥協しないと軽くなりません。

余計なお世話かもしれませんが
無駄にテクスチャが大きいとかポリゴン数が多いとか、なってないですか?
やり様によって結構軽く出来ますよ。



cd

リンク

2009/3/28(Sat) 21:50:53|NO.24236

>同モデルのオブジェクトは各自のSetMaterialとかSetTextureとかを省略してるんだと思う。
そうなのですか。
はやり高速化のためには仕方がないのでしょうか。

>setxinfo等の設定を施す命令は、モデルに対して行うので・・・
指定が「オブジェクトID」となっていたので、オブジェクト単位で変更できるのかと思ってました。
もし、SetMaterialとSetTextureを省略してるなら仕様ですね。


各Xファイルを見直してみて若干高速化されましたが、やはり限界がありました。
hgimg3の内部的な仕様だと思って、半分諦めます。

とりあえず解決にします。 ありがとうございました。



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