リンリンの物置き場

ゲーム、モデル制作の記録など。

制作記録08/30

そもそもタイムラインにアニメーションを置いても再生されない

画像のように、アルビーのモデルから生成したAnimation TrackにIdle Stepというモーションを置いても、ゲーム実行しても全く再生されなかったです。

なぜかタイムラインが再生されない

どうやらタイムラインウィンドウをロックしたのが良くないようです。

ロックを外したらオブジェクトが嵌め込めるスロットが出てきて正常に作動したのでたぶんこれが原因だと思います。

ロックを外したら動いた

 

制作記録08/12

  • 法線転写を行いました
  • アセットをUnity2022の方に整理しました
  • Dynamic Boneを付けました

法線転写でものすごく悩んだことがあって...

こちらページを参考にして法線転写を行ってみました。

youtu.be

qiita.com

おかげで無事blender上で法線転写に成功したがとある問題に直面。それはどうやってUnityに持っていけばいいのかということです。モディファイアをどうしたらUnityに反映させることができるのかと調べました。

結論から言うとそのままエクスポートしてUnityにインポートすればいい、ということ。便利ですね!

というわけで法線転写の結果をご覧ください!

右が元のモデル、左が転写したモデル

影がかなりキレイに整いました。

おまけ:転写用のダミーオブジェクトをUnity上で非表示にしたい

図のように転写用のスフィアとカプセルを置いたのだが、これをUnityにインポートするとプレビューがおかしなことになります。ダミーオブジェクトが表示されたせいで肝心なキャラが見えないのです。

こけしかな?

直し方としては、どうやらFBXをインポートしたらもうダミーオブジェクトは消していいらしいです。消して新しいプレハブ作っても転写したままだからたぶんいいのかな?(無責任)

あくまでダミーを消したオブジェクトで作ったプレハブが直るであって、元となるFBX自体のプレビューはこけしのままだから直ったとは言っていいのか...?とりあえずヨシとします。

追記:データ転送モディファイア自体を適用してしまっていいのでは?

モディファイアを適用すればダミーオブジェクト自体はエクスポートしなくてもいいかもしれません。

Dynamic Boneが付いているのに揺れない件

どうやらボーン階層の組み方はPhys Boneと些細な違いがあるようです。

例えば、Ass_LはPhys Boneを使う場合の組み方で、Ass_RはDynamic Boneの方です。Phys Boneはendボーンを組み直しても問題なかったのですが、Dynamic Boneだとendボーンを動かしてはいけないようです。

ここでAss_LにDynamic Boneを追加しても揺れません。なんて紛らわしい...

Ass_LはPhys Bone式で、Ass_RはDynamic Bone式

法線転写を設定してから無効化すると面の向きがぐちゃぐちゃに

自動スムーズがオンになっているからシェーディングが変になっているだけで、スムーズシェードに戻せば元通りになります。

自動スムーズの角度が小さすぎたからこうなったらしい

制作記録08/10

  • リボンと羽、下着のモデリング及びリギングを行った
  • Unity上でプレハブを生成した
  • VRChatへアップロードした

壮絶すぎたデバッグ

アップロードしたらなぜか口がデフォルトのシェイプキーじゃなくてほかのシェイプキーで固まったままだった。

最初はアニメーションレイヤーのウェイトを1にするのを忘れたかと思ったが再設定しても直らなかった。

次はこちらのページを参考にしてボイスを判定に入れてみたけど直らなかった。

【VRChat】【Unity】表情制御のまばたき・リップシンク干渉について|かける(×9N)

どれかのアニメーションステートでスタックしているのは確実なので、アニメーションごとに違うシェイプキーを割り当てて特定してみた。するとなぜか7番のThumbsupで固まっていることが判明。

サムズアップ...親指立て...親指...あっっ!!!

本当の原因は、Tポーズを設定し忘れたことだった。

インポートしたとき、ボーンがキレイに並んでいるから直さなくても良いと思ったのが良くなかった。

Humanoidの編集画面で、Pose/ Enforce T-Poseを実行して自動でTポーズに修正してもらって、それから肩の調整を行った。

直って良かった本当に...と思いきや、結局直らなかった。

最後はこちらの記事通りにやると本当の本当に直ってくれた。良かったわい...

inplanaria.hatenablog.com

制作記録08/09

  • シェイプキーを割り当てた
  • 赤面、><目などの顔パーツを作ってみた
  • リギングをした

なんだかんだ良い感じになった

うーんかわいいっすねぇ。

シェイプキー付けにとんでもなくてこずった

Basisのシェイプキーをほかのキーで上書きする作業がとにかく理解不能だった。一応できてはいるけど理屈は分からないまま。

とにかくシェイプキーからブレンドを選択して値を1なり2なり-1なりにして追加にチェックを入れたり外したりしていると良い感じにはまった。

ウェイト付けがかなり素早くできた

自分にとっていいパターンを見つけた気がするのでまとめると、

  1. 初っ端から自動正規化のチェックを外し
  2. ウェイトを塗っていき
  3. 全部塗り終わったあとまとめてクリーン、すべてを正規化を選択する

消したはずのウェイトが自動正規化で復活させられるのが減ったことによってサクサク進められたかと思う。

制作記録08/08

  • モデルを作り直した

とうとう1日で作れるようになった

出来がかなりずさんだけど自分ながらよう成長したなーと感じた。

元のモデルからの変更点としては、

  • ポリゴン数をできるだけ抑えた
  • ディティールを作るところは再分割して三角ポリゴンで繋げた

初めて三角ポリゴンを多用してみた。その効果はどんなものか...

制作記録08/07

  • ぬいぐるみテクスチャを作った
  • 局部のテクスチャとノーマルマップを作った

あまりグッと来なかった

小汚いというか、リアルな毛並みがデフォルトな顔と合わないというか。

さらにリアルさを追求すると生まれる弊害がもう一つあって、最終的に仕上がったテクスチャはノード生成をベイクしたものなので色むらがとにかく凄い。

これから服を着せる予定もあるので、毛並み表現はいったん見送ることにする。

マテリアル別にベイクする方法

ベイクしたいマテリアルごとにダミーのテクスチャノードを生成すればそのテクスチャのあるマテリアルのみベイクされる。ただし違うマテリアルを連続でベイクするときは使い終わったダミーノードを消す。(逆にマテリアルを混ぜてベイクしたいときはそれぞれダミーノードを生成する)