curvyで遊んでみる

ayumegu(プログラマー)
よろしくお願いします。

あけましておめでとうございます。
早速年始最初のAsset紹介
本日はCurvyを紹介

なにができるかなどはデモを見てください^^

##Asset確認
インポートしたところ

メニューで増えたのはこの辺かな。

サンプルのシーンもいっぱい

##簡単につくってみよう まずは線に沿って動くサンプルを作ってみた

GameObject->Create Other->Curvy->Spline

実行したところ
Prev Cp NextCpで前後に移動できるので追加したい位置に移動し
Insert before か Insert afterでポイント追加。
削除はDelete
Set 1はどれをスタートにするかで
Splitで接続を切れます。きったものと2つCurvy Splineができます

こんな感じにしてみた。

そしたら適当なオブジェクト。とりあえずCubeを配置し、
Follow Splineスクリプトをアタッチ(メニューからだと下図)

下図のように設定
Splineに先ほど作成したSplineを設定し、Speedを適宜変更
あとはClampingをClamp(一回再生) Ping Pong(往復) Loopから選んで
下の再生ボタンでpreviewできます

またもう一つのAlign To Splineのほうは
Positionの値で動きます。0~1の間で指定

##カメラを動かしてみる

カメラにも簡単に反映可能です。カメラの場合はLookAtしていてほしいものですが それもScriptで用意されていました

カメラにFollow Spline And Look Atスクリプトをアタッチ
Splineに作成したものをアタッチし、Look At Targetに見ていてほしいオブジェクトを設定
あとは適宜設定すればカメラがラインに沿って、オブジェクトを見ながら動きます

##レースのコースを作ってみる
下準備として下図のようなものを作ります。
法線?黄色い線が上を向くようにしてください
そしたら左メニューのMesh-Bld

そのままではmaterialが設定されていないのでこんな風になっちゃいます
そしてHierarchy上にCurvyMeshPathというのが作成されています

CurvyMeshPathのMaterialsにサンプルで入っていたmat_Roadをセットすると

あとは適宜パラメータをいじって
Shape Radiusで太さがかわったり
ShapeをLineにすると平面になる

こんな感じ。
車おいてみました

このままでもパスの通り走らせるならいいですがColliderが欲しいですよね。

先ほどいじっていたSprine Path Mesh Builderインスペクタの下の方にボタンが

左がメッシュのリロードボタン?

真ん中がGameObjectを複製して作成するボタン
これで作成したオブジェクトはSprine Path Mesh Builderなどがなく
Splineをいじっても変更されない通常のGameObjectが作成されます
なので完成したらこれを保存しておけばいいね。

右がメッシュを作るボタン。これです。
これを押して名前を付けて保存
するとMeshできます

あとはMeshColliderをつけてMeshをアタッチして完成

##コースにそってオブジェクトを配置 はい コースに沿って街灯を設置してみました

やり方はこちらも簡単
空のGameObjectにオブジェクトを配置します。
真ん中におくと道の真ん中に立ってしまうので位置、向きなどは要調整です

Splineの左のメニューからClone-Bldをクリック

するとヒエラルキーにこんなオブジェクトができます
あとはこのオブジェクトのインスペクターをいじいじすればおkです

Sourceのサイズを増やして、先ほど作成したオブジェクトをElementにアタッチ
Gapなどをいじると数が増えたり減ったりします

こんな風にオブジェクトが自動で複製されていくので、微妙にずらしたい場合などは最後にこれをずらせばOK

##今回の感想 ざっくりですがCurvyの説明はここまで
このAssetがあれば簡単にレースゲームなどのコースやパスにそったカメラの動きなど作成できます
他にも便利な機能があったりScript側もいろいろあるので機会があればまた