Unity Clothing Cullerによる服貫通対策

 

 

 

UDPのプロジェクトをWebGLで実行したら、肌が服を貫通しちゃった。。。

 

 

 

 

 

わっ!?大変💦

早く直さないと!

 

 

 

 

 

いつもとは違うビルドをして、シェーダーの設定がうまく機能しなかったんですね。

服の貫通を制御するならば、「Clothing Culler」というアセットを使えば、うまく調整することができますよ。

 

 

 

 

 

 

  【今回紹介するアセット】

 

 

 

「Clothing Culler」は、アニメーションの適用などにより肌が衣服に貫通してしまうのを防ぐためのツールです。

 

 

 

早速インポートして使ってみましょう。

 

 

 

 

 

 

インポート後、「Clothing Culler」フォルダが「asset」直下にできあがり、その中にマニュアルの「Clothing Culler Manual.pdf」も配置されますので、そちらも参照することをおススメします。

 

 

 

 

 

 

 

まず、Clothing Cullerを適用するためには、適用したいゲームオブジェクトをプレハブ化する必要があります。

 

 

今回適用したいのは、身体の「Body」が、Yシャツ「Shirt」とスカート「Skrit」に貫通しないようにしたいので、「Body」、「Shirt」、「Skrit」の三つのゲームオブジェクトをプレハブ化します。

 

 

 

 

 

 

 

 

 

プレハブ化の方法としては、プレハブ化したいゲームオブジェクトをプロジェクトウィンドウにドラッグ&ドロップします。

 

 

 

 

 

 

 

 

 

あれ💦

何かエラーがでちゃった。。。

 

 

 

 

 

Children of a Prefab instance cannot be deleted or moved, and components cannot be reordered. You can unpack the Prefab instance to remove its Prefab connection.

 

 

 

このメッセージは、プレハブインスタンスの子は削除したり、移動することが出来ない旨のメッセージを表しています。

 

今回、変更を加えようとした「Body」などの親オブジェクトである「kururi_0322」が既にプレハブ化していることが原因なので、プレハブ化を解除します。

 

 

プレハブ化を解除を解除するためには、対象のオブジェクトを右クリックし、「prefab」→「unpack」をクリックします。

 

 

 

 

 

 

 

では改めて、「Body」等をドラッグ&ドロップして、プレハブ化します。

プレハブ化に成功すると、ヒエラルキウィンドウのオブジェクトの横の四角が水色で表示されます。

 

 

 

 

 

 

 

続いて、「Clothing Culler」を設定するには、コンフィグを作成する必要があります。

 

 

 

プロジェクトウィンドウを右クリック→「Create」→「Clothing Culler」→「ClothingCullerConfiguration」をクリックして、新たにコンフィグを作ります。名前は今回は「kururiConfiguration」としました。

 

 

 

 

 

 

 

 

 

 

 

次に具体的な設定の編集に移ります。「window」→「Clothing Culler」→「Edit Configuration」をクリックします。

 

 

 

 

 

続いての画面の選択欄では、先ほど作成した「kururiConfiguration」を選択します。

 

 

 

 

 

 

右クリックから「Create prefab categories」をクリックし、「Body」、「Shirt」、「Skrit」の三つのカテゴリを作成します。

 

 

 

 

 

 

 

 

三つのカテゴリにプロジェクトウィンドウの対応するプレハブをドラッグ&ドロップします。

 

 

 

 

 

 

「prefabs」の「body」オブジェクトを選択した状態で、「Shirt」、「Skrit」オブジェクトをそれぞれ対応する「Occulders」カテゴリにドラッグ&ドロップします。

 

 

 

 

 

 

 

次は、貫通をしないようにする範囲を編集します。

「Occulders」の「Shirt」を選択し、右下の「View Body Occuldered by

Shirt」をクリックします。

 

 

 

 

 

 

「Generate」ボタンをクリックすると自動で貫通させない範囲を設定してくれます。赤色で表示されている範囲が服を貫通しない範囲となります。

 

 

 

 

 

 

 

もっと、貫通させない範囲を増やしたいね。

 

 

 

その場合は、クリックやドラッグをすることで、塗るように緑を赤に、赤を緑にすることができます。

 

 

完成しましたら「Done」を押せば、編集完了となります。

 

 

 

 

 

スカートの方も同様の手順で設定することができます。

 

 

最後にゲームオブジェクトの親オブジェクトへ「Clothing Culler」のスクリプトと適用してあげる必要があります。

 

「Add Component」から「Register All Occuldees」をアタッチすると、自動で「Clothing Culler」スクリプトがアタッチされます。

 

「Clothing Culler」の「Config」欄を今回作成した「kururiConfiguration」に、「Register All Occuldees」の欄は対象の親オブジェクト、、、今回は「Kururi_0322」を選択します。

 

 

 

 

 

 

 

それではゲームを実行して、結果を見てみましょう。

 

 

 

 

 

 

 

 

 

直った💨

最初は手順が慣れなさそうだけど、凄い便利なアセットだね!

 

 

 

ええ、これを使えば、キャラクターの衣装替えとかもできるらしいですよ✨

どんどん活用していきましょう。

 

 

 

 

 

 

 

 

 

お名前


削除キー(必須)

コメント(必須)


サイト内検索

twiter

CONTENTS

 

 

 

くるくるサンプルコード

 

 

 

【↓広告↓】