takeyohのおぼえがき

気になったこと、試したことの記録です。

路面の反射がおかしいときの回避方法(根本的ではないかも)

アセットコルサでなぜか2輪車を作ったりしているわけですが、その場合、4輪の制御システムをごまかしながら2輪車っぽい動きを再現しているわけです。
そのため、HUB_XX, SUSP_XX, WHEEL_XXなどのノードの下にタイヤなどのオブジェクト(メッシュ)を入れずに作ったりします。
(ノードは作ってあるのですが、その中にメッシュが一つもない)
この時、trackにもよるのですが、昼は問題なくても、夜になった時、路面や周りの物体が全く反射せず、ヘッドライトで前を照らしているはずなのに、まったく明るくならない症状が出ることがあります。
SRPだとこんな感じです。

白線は見えるのですが、路面は真っ黒です。

先に、回避方法を適用した後を紹介すると、こうなります。

これが普通ですよね。ヘッドライトもちゃんと照らしています。

で、回避方法です。
HUB_XX、SUSP_XX、WHEEL_XXのノードの構成はこうなっていると思います。

普通、車を作るときは、ここにタイヤやホイール、ブレーキディスクやキャリパーなんかのオブジェクトを入れると思いますが、この例では、bikeというノードの中にすべてのオブジェクトが入っていて、これらのノードの下には一つもオブジェクトがありません。
この状態でkn5を作ってしまうと、先ほどの様に反射が正常に動かないことがあるようです。

そこで、適当に(ここでは、WHEEL_LRの下)、ダミーのオブジェクトを作成します。

ここにあるオブジェクトはタイヤの回転と一緒に回るものですので、大きいと目立ちます(邪魔)。
また負荷を極小化するには、なるべく面数の少ないオブジェクトがよいかと。
そこで、今回はWHEEL_LRのエンプティの位置に正方形のオブジェクトを追加し、名前をdummyTyreとか適当につけています。
マテリアルは、そのcar modで使われているマテリアルから適当なものを割り当てます。

で、この正方形を編集モードにして、限りなく小さく(見えないくらい)します。

この絵はまだ小さな正方形が見えますが、もっともっと見えないくらいまで小さくしてください。

小さくしたら、正方形(dummyTyre)のスケール(X,Y,Z)は1.000になっているか確認してくださいね。

オブジェクトモードのまま小さくするとスケールの値が変わってしまいます。(なので編集モードにしてから縮小する)

あとは、いつも通りfbxでエクスポートして、ksEditorでkn5を作成すればOKです。


これだけです。

/* -----codeの行番号----- */