制作での躓き1(モデル変換Lightwave→unity)
現在開発中のFPSですが、知識が足りず難航してばかりです。
紹介する物が出来ないことにはブログのネタが無いので、
いっそ作業での躓きと解決自体を紹介しようかと思います。
無知ゆえに不正確な事があるのと、環境により違いがあるのはご承知おき下さい。
いつもの内容と違って専門的な話なので、知らない方は意味不明だと思いますがお許しを……
今回はLightwaveで作った3Dデータをunityで開く変換の躓き話です。
ポリプリプリンはLightwaveでモデリング・モーション・レンダリングしています。
現在バージョンは2019.1.3
unityは2018.3~2019.3を使ってます。
・UVマップが消える
Lightwaveでfbxファイルに出力し、unityに取り込むとテクスチャが反映されない……
UVマップが無くなっている!?ということが。
(UVマップ確認は http://esprog.hatenablog.com/entry/2016/09/30/165057 こちらを使わせてもらってます)
どうやら、マテリアルで「色」のテクスチャが貼ってあるモデルじゃないとUVを持っていかないみたいです。
カラーでテクスチャ使わないなら、適当に何か貼ってunityのマテリアル設定で変えとくといいです。
・貼ったテクスチャが歪む
unity上でモデルに貼ったテクスチャが部分的にギザギザに歪む事がありました。
これはLightwaveでテクスチャを焼き付けした場合に、
四角ポリゴンを自動で三角に分割する向きがLightwaveとunityで違ってしまった所に発生します。
ですので焼き付け作業前に、四角ポリゴンを三角分割しておくと解消されます。
・ブレンドシェイプを動かすと全体の陰影が変わる
unityでモデルのブレンドシェイプを増減すると、変形してない部分の陰影が微妙に変わったりします。
動かす度にちらついて見えて気になります。
これはunityのモデルインポート設定を変えて直します(取り込み後でOK)。
インスペクターの法線(Normals)とブレンドシェイプの法線(BlendShapeNormals)を同じ設定にすればいいみたいです。
・ボーンウェイト値がおかしくなる
unityでスキンメッシュをボーンで動かしたら、Lightwave上での動きと違う所がある……
ボーンウェイト値が変わっているのかと思っても、unityでウェイト値を見る方法が無い?
なのでfbxをLightwaveにインポートしてみたら、ぐちゃぐちゃになりましたがウェイトは見られておかしくなってました。
色々試した結果、ボーン種をジョイントにしていると変換でそのボーンのウェイト値が消えて、減った分は他(上階層?)のボーン値で埋められていたようです。
ボーン種を通常のZ軸タイプにすればOKです。
・モーションの回転値グラフが曲線から直線になる
これはボーンのモーションのX軸回転をLightwaveのグラフ編集で見たものです。
変換してunityへ持っていくと……
キーフレームだらけになってますが、そうする設定(カーブをリサンプリングON、アニメーション圧縮方法オフ)にしないと動きが変わってしまうのでそれは仕方なしです。
○の部分が曲線だったのが直線になっています。
どうやら、Lightwaveでは線の後のキーフレーム「手前の曲線」で補間の指定をする所が、
unityで開く時は線の両端の「手前の曲線」を曲線に指定しないと曲線としてくれないようです。
それではよいお年を!
来年は作業が捗りますように……(-人-)