見出し画像

BlenderのCGをUnityに持っていったらマテリアルがおかしい🫠

blenderで作った3DCGモデルをUnity(個人利用なら無料で利用できるゲームエンジン)にもっていって、VRのHMDで没入する、、というのは想像に易いです。

なので、さぞ簡単なんじゃないかなと思っていたのですが、、マテリアルの壁にぶち当たったので備忘録にしておきます😭

🍯シェーダーとマテリアル

まず、blenderとUnityには全く違うシェーダーが使われているらしい。

じゃあシェーダーってなんなのかってところから勉強しないとですね🤔

🐝シェーダーとは

ではまずシェーダーってなんなのか。
オブジェクト表面の材質を仕上げてくれる何かという程度の認識なのですが🤧

シェーダー:
3DCGの描画処理において、物体の位置関係や光源の位置、カメラの位置が決まった時点で、対象の3Dモデルが画面上でどのように映るかを計算し、計算結果に従って描画を行います。
G学院 プログラミング用語解説より

レンダリングとなにが違うのかよくわからないけど、シェーディングされたものをレンダリングで画像にする、、というイメージなのかな?

表面の凹凸とか、伝播を設定するものって認識で合ってるよね、多分。

🐝マテリアルとは

ほんじゃ、マテリアルってなんなんだろう。
シェーダーがパッキングされたもの??

マテリアル:
物体の材質のこと。3DCGでは、物体の光学的特性、材質感のことを指す。
CG World Entry.jp

説明めっちゃシンプルやな😇
マテリアルを再現するための計算方法がシェーダーということですね、おそらく。

🍯Unityとblenderのシェーダーが違う話

さて、シェーダーとマテリアルの定義はわかったところで、今回の議題を再確認しましょう。

blenderで作ったモデルをUnityに入れたらマテリアルがおかしい!!!


ということでしたよね。

こちらの結論、
blenderとUnityのシェーダーには互換性がない🫠
ってことのようです。

blenderでワクワクしながら色塗りしたのに、Unityはそんなのお構いなしというわけですね泣

blenderで色分けだけして、Unityに入れてからちゃんとしたマテリアルを適応する、、という方法でやるしかないみたいです😢

もしくは画像テクスチャを貼るかですね📷

まあでも、Unityのマテリアルはドラグアンドドロップで一瞬で適用できるのでストレスは少ないし、

そうゆうものなのね💡ってテンションで使うしかないかな🫠

🍯まとめ

  • シェーダーは質感を出すための計算方法を記述したもの

  • マテリアルは材質そのもののこと

  • blenderとUnityのシェーダーは互換性がないから、全く同じにはならない

以上、3点でした!お疲れ様でした✨

この記事が気に入ったらサポートをしてみませんか?