見出し画像

備忘録 Blender→Unityのfbx移動 ~メッシュのアス比編~

概要

Blenderでfbxでエクスポートしたものを、Unityで使用する際に、引っかかった点の備忘録です。

更新履歴

9/25「解決法」に誤った記述があったため修整。

背景

 VRChatのワールドを作るために色々練習してた時、以下の記事に従ってやっていました。

発生した問題

 Unity側で、お札が立方体になった。
 具体的には以下の通り。Blenderからエクスポートしたお札のfbxをUnityに入れて、そのモデルをUnity上に配置すると、正常に表示される。しかし、パーティクルでそのメッシュ(pCube1)を使用すると、パーティクルは立方体になった。(マテリアルはCATSで統合した結果、Unityでは正常だったので割愛)

 Blender上では正常。

スクリーンショット 2021-09-25 103733

 Unityに放り込んで、シーンに配置しても正常。

スクリーンショット 2021-09-25 105238

 しかし、お札のメッシュを見ると何故か立方体になっており、

スクリーンショット 2021-09-25 105345

 パーティクルを Render Mode > Mesh にして、このメッシュ「pCube1」を適用すると立方体になる。解せぬ。

スクリーンショット 2021-09-25 105503

解決法

 原因は単純で、元のお札において、メッシュの形状は頂点の配置ではなくスケールで辺の比率を変えることによって、立方体をお札の薄い形状に変換していた。

スクリーンショット 2021-09-25 105650

 対処方法は注意。Unity側で変えようと思った場合、目につくのはパーティクルシステムのInspectorの、Transform > Scale です。ですが、ここをいじっても直りません。なぜならこのScaleは、パーティクル自体のスケールではなく、パーティクルの散布領域のスケールなんですね。
 このスケールを変更した場合、下の画像では正常に見えますが…

スクリーンショット 2021-09-25 121232

 パーティクルに回転を加えたりすると、一瞬で異常さがわかります。方向を変えてみてみると、散布領域が異様に縮まっているのも見て取れます。(Y方向のスケールを0.0334にしたため)

スクリーンショット 2021-09-25 134847

スクリーンショット 2021-09-25 135004

 そのため、紙幣自体のスケールをどうにかしなくてはいけません。自分はUnity側で、メッシュのスケールをパーティクルシステムでどうにかする方法を見つけられませんでした。なので、そもそもBlender側で、スケール情報をなくしてしまいましょう。
 Objectモードでctl + A から Apply > Scale で、比率をメッシュに焼き付けてしまうことで、この縦横奥行き比が、メッシュの情報として記録され、スケールは1:1:1になります。

スクリーンショット 2021-09-25 121737

 これをUnityに持ち込んでやると以下の通り。なお、スケールを焼き付けたことで、Unity上では先程より大きく/小さくなっている可能性がありますのでご注意。メッシュを適用したのにパーティクルが消えたら、パーティクルのInspectorからStart Sizeを大きくしてみましょう。

スクリーンショット 2021-09-25 135342

 以上です。

いいなと思ったら応援しよう!