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側もいろいろあるので機会があればまた