トップページ > 記事閲覧
名前:slowhand 日時: 2018/12/06 15:56

大変お世話になっております。 2階建ての家のモデルがありまして、キャラクタが2Fに上がると2Fの床をもちろんOKなのですが、1Fの床にも影が表示されてしまいます。 2Fの床のモデルに何か細工が必要なのかと考えておりますが、そういう考えでよいのでしょうか? それとも実装面(シャドウマップ)で工夫が必要となるのでしょうか? お忙しいところ恐縮ですがアドバイスを頂けると幸いです。
メンテ

Page: 1 |

Re: 影 ( No.1 )
名前:管理人 日時:2018/12/08 00:57

現在ある影の機能で対応する場合は、まず1Fと2Fを別々に描画して、 且つ1Fの描画に適用するシャドウマップには2Fに居るキャラクタの 影を描画しないようにする、などの工夫が必要となります   1. 1Fに適用するシャドウマップを作成する( 2Fに居るキャラクタはシャドウマップに描画しない )   2. 1Fをシャドウマップ( 1F用 )を適用して描画   3. 2Fに適用するシャドウマップを作成する   4. 2Fをシャドウマップ( 2F用 )を適用して描画 1F と 2F がひとつのモデルとして分離できない場合は、まず二つの モデルに分ける作業から行う必要があります…
メンテ
Re: 影 ( No.2 )
名前:slowhand 日時:2018/12/20 16:35

大変お世話になっております。 アドバイスいただきましてありがとうございます。 1Fと2Fのモデルは理由ありまして分離できませんので、カメラがどちらのフロアを映しているかを チェックしてその階に存在するキャラクタやオブジェクトのシャドウを描画するように変更いたしました。 カメラが2Fのフロア高さのような微妙な位置を映しているときは少し難がありますが、今回はこの方法で 対応することにしました。 もしチャンスがあるようでしたら影の機能をキャラクタやオブジェクトの直下にあるポリゴンにのみ描画 するようなupdateを入れていただけると非常に助かります。 貴重なお時間をいただきアドバイスをいただきまして誠にありがとうございました。 著書「C言語 3Dゲーム」も大変詳しく解説してあり大いに勉強になります。
メンテ
Re: 影 ( No.3 )
名前:管理人 日時:2018/12/22 23:53

問題が解決した様で何よりです > もしチャンスがあるようでしたら影の機能をキャラクタやオブジェクトの直下にあるポリゴンにのみ描画 > するようなupdateを入れていただけると非常に助かります。 描画の際は頂点単位で行うので、どのように『オブジェクトの直下にある』と判定するかの問題や、 キャラクタがジャンプしただけでも影が消えてしまうなどの問題があるので、実装は難しいです… > 著書「C言語 3Dゲーム」も大変詳しく解説してあり大いに勉強になります。 著者は大槻さんで私は監修ですが、お役に立てて嬉しいです (^ ^
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存