本記事ではUnityバージョン2022.1より標準搭載された新機能、スプラインエディタについて紹介します。
スプラインエディタを使うと、作成した曲線に沿ってオブジェクトをきれいに等間隔に配置することができます。さらに、配置した後も自由に調整ができるので、非常に便利なツールになっています。
スプライン機能でできること
- 曲線に沿ってオブジェクトを配置できる → 木や街灯、壁などの配置に便利
- 曲線に沿ってオブジェクトを動かせる → 人の歩行や、車を動かすのに便利
- 曲線に沿ってチューブのメッシュを生成できる → ワイヤー、麺などのオブジェクトが作れる
本記事では、オブジェクトの配置の方法について解説します。
Splinesのインポート
まずは、Unityのパッケージマネージャーを開いて、Splinesをインストールします。
Packagess: Unity Registryの中にあります。

使い方
スプライン曲線を作成する
ヒエラルキーから、Spline > DrawSplines Tool… を選択して、スプラインオブジェクトを作成します。
特定の形状を作りたい場合は、Draw Splines Tool…の下にあるものから好きなものを選びます。(Square, Rounded Square, Circleなど)

シーンビューの左上に以下のアイコンが表示されます。一番上のアイコンをクリックして、スプライン編集モードに入り、一番下のアイコンを選択するとパスの元となる点を追加することができます。

好きなところにクリックすると、点を追加します。ドラッグで曲がり方を変えることもできます。Escを押すと終了できます。
作成した曲線の形状は後から調整可能です。
スプライン曲線に沿ってオブジェクトを配置する
スプライン曲線に沿って、オブジェクトを配置します。木や街灯を並べる際に便利な機能です。ヒエラルキーから空のゲームオブジェクトを作成し、Spline Instantiateコンポーネントを追加します。

Spline InstantiateのContainerには、先ほど作成したSpline曲線のオブジェクトを選択し、Items To Instantiateには、並べたいプレハブを入れます。

すると、オブジェクトが曲線に沿って配置されました。

オブジェクトの間隔は、Spacing(Spline) Distの数値を変えることで調整ができます。

位置や回転や間隔をランダムさを持たせて配置する
等間隔に配置したものの、きっちりしすぎて少しずらしたい場合もあると思います。曲線に配置したオブジェクトにオフセットをつけてずらすことができます。
Position Offsetにチェックを入れると、位置をずらすことができます。Rotation Offsetは回転をずらせます。

全て一律にずらすのではなく、各オブジェクトランダムにずらしたい場合は、右のExactをRandomにしましょう。これは、オブジェクトの間隔Spacing(Sprine)にも適用できます。

複数のオブジェクトを並べて配置する
複数のオブジェクトを並べるには、Items To Instantiateにプレハブを追加します。
配置する比率も右のパーセンテージから調整可能です。

おわりに
スプラインの紹介でした!
オブジェクトのきれいな配置が簡単にできるだけでなく、あとから調整できる点も魅力ですね。