Unity 2022.2 の Splines を使って、フロー状態でより美しいパスを描き出そう

Unity 2022.2 には、パッケージマネージャーからアクセスできる Splines パッケージのアップデートが含まれており、ゲームをはじめとした制作で、スプラインのパスを描いて使える機能が提供されています。開発者にとっては、川や道路、カメラトラックなど、パスに関連する機能やツールを簡単に開発できることを意味します。アーティストにとっては、Splines ソリューションを使うことで、これらのツールセットすべてにおいて、Unity がサポートする一貫した体験を得ることができます。また、Splines パッケージにはいくつかのデフォルトコンポーネントが含まれているので、この新しいアーティストツールをすぐに使用することができます。
新しい Splines パッケージの学習やディスカッションをすぐに始めたい場合は、Unity Splines フォーラムの投稿をご覧ください。
「スプライン」とはパスの一種で、3D と 2D の両方のクリエイティブツールでよく使われます。基本的には、道路を作るようにいくつかのポイントを設定し、オプションでそれらのポイントの周りでパスのカーブを調整し、最後に必要ならさらに分岐するポイントをつないでできるものがスプラインです。

スプラインは以下のような目的でよく使われます。
- 川や道路の作成
- カメラトラックの設定
- 領域や図形の定義

Splines パッケージは、他のオブジェクトと同じように簡単にスプラインを作成し、使うことを可能にするパッケージです。GameObject メニューを開いてスプラインを作成し、そのスプラインのパスを使用するコンポーネントを何でも追加できます。
アーティストであれば、地形に道路を描いたり、カメラのパスを定義したり、レベルデザイン用のメッシュ形状を押し出したりするためのツール一式を習得するだけでよいということです。さらに便利なことに、カメラ用に描いたスプラインを再利用して、地面に道を作ったり、キャラクターを動かしたりと、あらゆることが可能です。必要に応じてコンポーネントを追加したり、交換したりするだけです。
開発者には、Splines パッケージは堅牢で標準化されたフレームワークが提供されます。独自のカスタムコンポーネントや Unity Asset Store のパッケージを作成することができます。詳細については、Splines API ドキュメンテーションを参照してください。
Unity 2022.2 以降でプロジェクトを作成または開き、パッケージマネージャーを使って Splines パッケージをインストールします。
以下の手順でスプラインを作成できます。
トップメニューから、Create > Spline > Draw Spline を選択します。
シーンビューでクリックして、スプラインのポイントを配置します。パスに曲線を追加したい場合は、ポイントを配置する際にクリックアンドドラッグします。
描き終わったら、Escape キーを押すか、Tools オーバーレイでツールを選択します。
エディターに標準装備されている選択ツールや変形ツールで、スプラインの形状を編集します。
詳細については、Splines ドキュメンテーションを参照してください。
Splines は、新しいツールシステムであるコンテキストに基づくワークフローを使った初めての大きな機能となります。コンテキストに基づくワークフローでは、オーバーレイを使用して適切なツールを適切なタイミングで利用できるようにします。以下のようなケースで活用することができます。
- Tool コンテクストで編集を簡素化:スプラインを選択すると、Tool オーバーレイの先頭にアイコンが表示されます。このアイコンは、Tools オーバーレイの Tool コンテキストを示します。Tool コンテキストアイコンをクリックし、Tool コンテキストを GameObject から Spline に変更します。これで、標準的なエディターツールとコントロールを使って、スプラインのディテールをより細かく編集することができます。
- Tool Settings によるカスタマイズ:スプラインツールをアクティブにすると、Tool Settings オーバーレイに新しいオプションが表示されます。これは、どのオプションが利用可能かを示すもので、その場で必要なものを選ぶことができます。
- コンポーネントツールで新しいツールを発見する:スプラインを選択し、そのスプラインにコンポーネントツールがある場合、Tools オーバーレイの下部に表示されます。パッケージやアセットが新しいツールを追加するためのコンポーネントを使用している場合、Tools オーバーレイの下部に表示されるので、エディター内を検索する必要はありません。
コンテキストに基づくツール制御の最も優れている点は、Unity Asset Store のものやカスタム開発されたものを含め、Unity のあらゆるツールセットで動作することです。これを始める助けとなる情報が必要なツール開発者の方は、ツールのドキュメンテーションに目を通すことから始めるか、Unity フォーラムで質問してみてください。

コンポーネントについては、一般的なユースケースに対応する 3 種類が用意されています。
- Instantiate:スプラインに沿ってアイテムのコピーを生成します。フェンス、並木、石造りの歩道などのオブジェクトを作成する時、Instantiate コンポーネントを使いましょう。
- Animate:ゲームオブジェクトをスプラインに沿って動かします。Animate コンポーネントは、カメラやキャラクター、その他 Unity で動きを定義する必要がある場面で使います。
- Extrude:スプラインに沿ってチューブメッシュを構築します。Extrude コンポーネントを使って、ワイヤー、パイプ、ロープ、麺などの形状を作成し、それらの形状を簡単に編集することができます。

Splines 2.1 では、新たに複数の分岐したパスを持つスプラインを作成することができるようになりました。Draw Splines ツールをアクティブにして、スプラインの上で新しいパーツの描画を始められます。この機能を使って、分断されたスプラインの部分を作成することも可能です。

メニューから適切なトランスフォームツールやギズモを探す手間なく、直接スプラインを素早く操作することができます。スプラインのポイントを編集している時に、ポイントをクリックアンドドラッグすると移動することができます。ツールの起動は不要です。これは、スプライン機能に 2D のようなシンプルな編集機能を持たせるために設計されたものです。

スプラインのポイント編集時に、これらの新しいオプションがハンドルの方向ドロップダウンで利用できます。Parent は、親要素を基準にしたアイテムの移動、回転、拡大縮小を可能にします。Element は、選択したアイテムの方向の情報を利用した正確な編集を可能にします。

Splines は他のツール、特に Unity Asset Store のツールやカスタム開発ツールの基礎となるように作られています。このパッケージには、開発者の学習やカスタマイズに使える堅牢な API とサンプルが含まれています。利用を開始するには、こちらの Splines API ドキュメンテーションをご覧ください。
Splines パッケージが公開されてから約 1 年が経ちました。引き続き、皆さんからのご意見を楽しみにお待ちしております。また、今回のメジャーアップデートでは、特にアーティストの皆様から、より多くのご意見をいただけることを期待しています。この記事へのコメントも大歓迎ですし、より深い議論をしたい方は Splines フォーラムスレッドにぜひお越しいただければと思います。