Numivo の最も重要な機能は目に見えません:出荷されるあなたのゲームには、その一片も 含まれません。 箱の中のすべてのツール(スキャッター、メッシュブレンディング、 グリッド)、は、ただのエンジンアセットを生成し、それ以外は何も残しません。この記事では、 それが技術的に何を意味するのか、そしてなぜ私たちがそれを譲れないと考えるのかを説明します。
「ネイティブ」が具体的に意味すること
Unreal でスキャッターのパスをベイクすると、Numivo は Hierarchical Instanced Static Mesh コンポーネント または フォリッジインスタンス を書き出します。手作業で配置した 場合に得られるのとまったく同じ構造です。Unity では、標準的なプレハブインスタンスや テレインの詳細になります。メッシュブレンディングのマテリアルは、ピクセル単位で正確な ノーマル遷移を備えた通常のエンジンマテリアルにコンパイルされます。カスタムのシェーダー パスも、フレームごとのプラグイン処理も、Build.cs やパッケージマニフェストの中の 「Numivo ランタイム」モジュールも存在しません。
そこから導かれる数値:
- ビルド内の Numivo コードは 0 行
- 追加されるフレーム時間は 0 ms(実行するものが何もないため
- 一般的なシーンでのエディター RAM は 150 MB 未満)、エディターのツール群が フットプリントのすべてだから
- Unreal と Unity をまたぐ共通コアは 1 つ。だからプリセットはエンジン間を行き来する
なぜランタイム依存を拒むのか
ランタイム依存は、誰か別の人が払わされる負債です:
- 認証(certification)。 コンソールの認証チームは、あらゆるサードパーティ製モジュール が何をするのかを尋ねます。「そんなものはありません」が、あり得る最短の答えです。
- 寿命。 ゲームはツールのサブスクリプションより長く生き残ります。ベイクされた結果は 通常のアセットなので、Numivo で作られたシーンは 10 年後にも開けて出荷できます。私たちが いてもいなくても。解約しても、作ったものはすべて手元に残ります。これは規約上の約束では なく、アーキテクチャの性質です。
- パフォーマンスの主導権。 あなたのプロファイラーには、すでに最適化の仕方を知っている エンジンのプリミティブが表示されます(カリング距離、LOD、Nanite の設定)、ブラックボックス ではありません。
リポジトリにとっての意味
ベイクされた結果は、他のどのアセットとも同じようにバージョン管理されます:diff でき、 マージでき、レビューできます。Numivo の種(species)とグリッドのプリセットは、コミットして チームと共有できる小さな素朴なファイルです。バージョン管理に入れるべき でない 唯一のものは、 ローカルのコンテンツインデックスキャッシュです(自分で再構築します)。無視ルールを 1 つ書けば それで済みます。
トレードオフを、正直に述べると
非破壊的なプロシージャル編集にはプラグインが必要です:一度ベイクすると、丘はエンジンの データになり、それをプロシージャルに再編集するには Numivo で開き直すことになります。私たちは これが正しいトレードオフだと考えています。もう一方の選択肢(シーンをランタイムレイヤーに 依存させ続けること)は、あなたのプロジェクトを静かに人質に取ります。あなたのレベルは、 ツールではなく、あなたのゲームのものであるべきです。
その哲学があなたのチームの働き方に合うなら、無料プランがそれを試す最も簡単な 方法です:何かを散布し、ベイクし、プラグインを削除して、シーンが何とも思わない様子を眺めて みてください。