- MMD4Mecanimを使うことで、MMDモデルをUnityにFBXとしてimportすることができる。(>>詳しくは以前の記事へ)
- 出力したFBXには初めからAnimatorがアタッチされているが、基本的にこのAnimatoerは使わないのでRemove Compornentする(特に動かないステージなどは)
- コライダーについて。ステージはMesh Colliderを使ってもいいが、今回はPlaneとCubeを配置し簡単に作成した。特に床のようにボックスである必要のないものには、Planeを使うと良い。
- Cube等の大きさを調整し終わったらMeshRenderをオフにする。
- 動かないコライダーをもつオブジェクトにはStaticにチェックを入れておく。これを静的ゲームオブジェクトという。これによりメモリこそ消費するものの、ドローコールを効果的に減らせる(参考)。基本的に動かないオブジェクトはStaticにしておき、メモリを節約しなければいけない状況になったら、適宜Staticを外していくのが妥当だと思う。
- 実際に作ったステージでキャラクターを動かしてみると、コライダーの隙間が無いはずなのにキャラクターがコライダーの隙間をすり抜ける現象が容易に起きる。なので、コライダーは大げさ気味にでも深めに埋めてあげるほうがベター。
- すり抜けるのはRigidbodyのCollisionDetectionの設定の可能性もある模様(参考:4:20。あとオマケで参考先を見た方のブログ)
- 高速で接近する敵を避けると、この敵は勢い余って大きく通り過ぎてしまう。試しに床となるPlaneにPhysic Materialをつけて動摩擦を1にしたところ、気持ち程度、通過時のブレーキが改善された気がした(参考1、参考2)。Physic MaterialはProjectのCreateから作成可能。
- ステージに影を落とすにはMaterialのShaderをStandardにする必要があるが、MMDモデルの場合は独自のShadarを使っているのでこれができない
- サードパーティには透明なオブジェクトを作って影を落とす方法もあるようだが、今回は半透明のスプライトを使って簡易的に影を作った。(Unityに初めから入っているKnobを利用)
- どこにも情報が見当たらなかったが、WIndow>Lightingから設定できるフォグ(霧)はシェーダーと関連している模様。MMDの独自シェーダーでは表示できないようだった。Cubeなどのオブジェクトはフォグによって色付いているのに対し、MMDモデルには一切の影響がなかった。
0 件のコメント:
コメントを投稿