[Unity] 追従するまるっこい、ぷにっとした物体

[Unity] 某まるっこい、ぷにっとしたコントローラーを作ってみるを見た知り合いから、「先端側だけでなく、固定された円の半分も変形した方がいいよね」と言われまして。

確かにそうだよねぇ。前回の方法だとどんなに激しく動いても、円の半分は常に綺麗な円の形のままだし。

なので今回は円を構成するすべての頂点が変形する「謎の物体」を 作ってみたいと思います。

 

 

環境

Unity 5.0.1f1

 

作るもの

マウスカーソルに追従してくるぷにぷにした丸い謎の物体を作ります。

 

作った手順

ほぼ前回と同じでベジェ曲線で変形情報を作成してぷにぷにを作ります。

beziercurve2_base

前回と違う場所。

まず、最初に押された位置がP1、マウスの現在位置がP4だとします。P1からP4の方向にさらに半径分移動した先が、青色ベジェ曲線のP4となります。P1側も同じで半径分後ろ側にずらした位置が青色ベジェのP1となります。

beziercurve_bezier4point_infobeziercurve2_outline1

これを逆側も作ったのがこちら。

beziercurve2_outline2

後はこの曲線に円を構成する頂点を割り当てていきます。

beziercurve2_outline_points

これで前回とは違い、すべての頂点が常に変形して動くようになりました。

さらに今回は円の中心が、現在のマウスに近づくようにします。

beziercurve2_moving

なんか嫌な予感しかない気持ち悪い動きをしてくれます。狙って作っていないのでどんな感じに仕上がるかは、やってみてくちゃ判らない。

 

Unity上に移植

移植方法は前回とまったく同じです。メッシュを作成して動かしました。

 

結果

さすがに伸ばして激しく動かすとポリゴンの重なりが見えてしまっています。Unity上でのことを考えて作れればよかったのですが、ただ外周線を作ればいいや!と安易な考えで作ると、こんな感じに後から問題が発生しますよねー。

beziercurve2_moving2

サンプル

マウスの左ドラッグで動かせます。

 

まとめ

ベジェ曲線を使った変形を行いましたが、うまく使えば少し他とは違った感じを出せそうだなぁ。ただUnityはもっと強力だと思うので、別の方法でUnityらしい実装方法を取ったほうが作ってて楽しそうかな。個人的には「う~ん?」な感じでした。


希木小鳥

Diablo1でハクスラの世界に。今はBorderlands2をプレイ中。ぬるゲーマー。

あわせて読みたい