ページ 11

DxLibの3D、ライトについて

Posted: 2014年3月02日(日) 22:43
by spaaaark・∀・
DxLibで3Dを触るのは初めてなspaaaark・∀・です。

製作するにあたってリファレンスを読んでいたところ、気になるものを発見しました。
DxLibリファレンス CreateDirLightHandle関数 さんが書きました:尚、ライトハンドル系の関数は一つしかない標準ライト以外にライトを使用したい場合に使用します。
( とはいえ同時に有効にできるのは標準ライトを含めて3つまでですが・・・ )
気になるのは()で囲まれた部分で、これってライトを同時に3つまでしか使えないのか気になりました。

作りたいのはこれのようなメカスロゲームなんですが、画像を見て分かるように見える場所、
他リール内部などに多数のライト(=光源)が配置されてます。これを実際にゲーム上で表現したいのですが、
もちろん3つではどうしようもないわけです。これってどうすればいいのでしょうか、または解釈が間違って
いるのでしょうか?どなたか回答をよろしくお願いします。

Re: DxLibの3D、ライトについて

Posted: 2014年3月02日(日) 23:24
by softya(ソフト屋)
ライトは処理が重いですので、余り数を置かないのが基本原則です。特に点光源。
ライトの位置が固定なら、頂点カラーなどを使われたほうが現実的かと思います。
それとシェーダーを使えば、もっと自由にライトは置けるとは思います。

Re: DxLibの3D、ライトについて

Posted: 2014年3月02日(日) 23:48
by ISLe
けっこう前のことですが、この手のは仕事でやりました。
最近のハードではどうなのか分かりませんが、台の演出にライト機能は使いませんでした。
光源織り込み済みテクスチャとの切り替えとか、スポット処理は半透明テクスチャとか。
半透明テクスチャも使い過ぎると重くなります。

台をリアルに再現することが至上ということであれば話は違ってきますが。

Re: DxLibの3D、ライトについて

Posted: 2014年3月03日(月) 11:34
by spaaaark・∀・
返信ありがとうございます。
なるほど、ライト以外にも光源を表現する方法があるという事ですね、分かりました。
metasequoiaでモデルを作っているのですが、無償版なので頂点カラー等の編集ができない状態です。
しかし、同ライブラリ上のSetMaterialParam関数を使って、その部分をあとから追加で描画すれば、
うまくいくだろうと考察できます。光の色の調整もできますしね。

方針が決まりましたので、当トピックはこれで解決という事にします。作っていく上で疑問が生じた場合、
それはまた別トピックで質問しようと思います。その時はまたよろしくお願いします。