ゲーム作りが大好きな人のブログ

ゲームを作るのが大好きな人のブログ。UE4とBlender、MAYA(LT)、3DCoatを使用しています!

着せ替えシステム構築中

f:id:toofu0:20150417024143p:plain

まだ全然できてないけど、とりあえず貼ってみます。

今回は今後の事を考えて色々と手を入れてみました。

 

◆ 動的スケルタルメッシュチェンジ

UE4で動的にスケルタルメッシュをチェンジするやり方は知らなかったのですが

Characterクラスのmeshコンポーネントの中にSetSkeletalMeshという関数があるので

それ呼んで対応のスケルタルメッシュを入れ込めば基本はOKです。

 

ただし、ダイナミックマテリアルインスタンスを使っている場合は

これだけでは絵の表示に問題がでます。

ここから先の内容はあっているかどうか分からないのでご注意を。

 

恐らくスケルタルメッシュ変更時に生成したダイナミックインスタンス

破棄してやる必要があると思うのですが、そのやり方が分からず。

 

マテリアルの参照を消せば上手くいくかも・・・?と思い

SetMaterial関数でマテリアルを指定せずに全てのマテリアルを初期化 →

その後「スケルタルメッシュ読み込み」→

「ダイナミックマテリアルインスタンス読み込み」といった手順にすると

なんとか正常に絵が出るようになりました。

 

メモリ周りも見てみましたがメッシュチェンジを連続で行っても

メモリが増えている様子は無いので大丈夫、、、のはず。

 

これが正しいかどうかは分からないですけどね。

一つの方法として残しておきます。

 

◆ 3Dモデルの構成方法変更

f:id:toofu0:20150417030058p:plain

今回から「体」「頭」「髪」の3つでモデルを分割しました。

体のみスケルタルメッシュで、後はスタティックメッシュになっています。

 

首周りのスキンが崩れやすいのが難点なのですが

全てのコスチュームで頭を使いまわせる事や

後に入れるフェイシャルの事も考え上記のようにしました。

 

フェイシャルだけは絶対に面倒な事になりそうな気がするので

今のうちに予防策を入れておきます。

 

あと、このやり方が楽かどうかはまだ分からないので

真似しないほうがいいかもしれません(;´∀`)

自分も初めてやるパターンなので後で後悔するかもしれません。

 

 

明日辺りに小物を揃えてフェイシャルにいきたいなぁ……。

それでは。