いんでぃーづ

ゲームいろいろ、いろいろ自由

Unity : カードゲームのカード内のキャラを動かす

トレーディングカードゲームとかで、カードの中のキャラが動いて必殺技とか繰り出すとかっこいいですよね。

f:id:sugar_affordance:20180515133056g:plain

こんなふうにね。

...がんばればもうちょっとかっこよくできます。

やりかたは意外と簡単で、Anima2D と SpriteMask を組み合わせます。

Anima2D でキャラクターのアニメーションを作る

前回記事参照

indie-du.com

キャラクターは引き続きこちらを使用します

カードの元となるスプライトを作成

シーンにこんな感じでスプライトを配置します。

f:id:sugar_affordance:20180515122128p:plain

MaskSprite がカードの背後を塗りつぶしているスプライトです。
このスプライトに SpriteMask コンポーネントをつけます。

f:id:sugar_affordance:20180515122331p:plain

キャラクターをカードの子にする

f:id:sugar_affordance:20180515132140p:plain

この時点ではキャラクターはカードからはみ出してしまいます。
うまくカードの上に順番で描画されない場合、スプライトの Order in Layer の値を調整してみてください。

f:id:sugar_affordance:20180515132159p:plain

SpriteMask コンポーネントによってマスクの準備はできているので、今度はキャラクターのほうにマスク設定を行います。

Anima2D用のマスクシェーダを作成する

プロジェクトビューで右クリックして Create > Material と選択し、新しくマテリアルを作成します。
作成したマテリアルのシェーダに Anima2D/VisibleInsideMask を選択し、Anima2Dで作成したキャラクターのMaterialに登録します。

f:id:sugar_affordance:20180515132238p:plain

f:id:sugar_affordance:20180515132246p:plain

あとは実行してアニメーションさせてみましょう。
冒頭のサンプルには背後にパーティクルも追加してあります。


“Unity” and Unity logos are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere, and are used under license.


免責事項

当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。

また、当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。

すべて自己責任でお願いします。