開発環境の構築
対応環境
DawnRenderer の使用には、Unity が必要です。Unity2021, Unity2022, Unity2023, Unity6.0, Unity6.1, Unity6.2 に対応しています。
また、開発環境は Windows と Mac に対応しています。
Unity のレンダリングパイプラインは、ビルトインレンダーパイプラインと URP (Universal Render Pipeline) が使用できます。
パッケージのインストール
使用するライブラリパッケージは、UPM (Unity Package Manager) 用の tarball 形式で配布しています。PC とモバイル両対応版は、DawnRenderer-v1.x.x.tgz 、PC のみの対応版は DawnRenderer-PC_only-v1.x.x.tgz というようなファイル名です。
このファイルをインストールしたい Unity のプロジェクトフォルダ内の Packages フォルダ内に配置します。
※この Packages フォルダ内への配置は必須ではありませんが、プロジェクトを Git 等のバージョン管理システムで管理している場合や、複数の開発者で開発を行っている場合、強く推奨します。
Unity のメニューからパッケージマネージャーを開きます。
左上の+ボタンから「install package from tarball...」を押し、先ほど Packages フォルダ内に配置したパッケージファイルを選択します。
パッケージの更新方法
新しいバージョンの DawnRenderer がリリースされてアップデートをする場合、パッケージマネージャーから既存の DawnRenderer を削除し、再度上記の手順に従って新しいパッケージをインストールしてください。
ライセンスの設定
ライセンスファイル (dawn_renderer.license) を、Assets フォルダ以下の任意の場所に配置してください。配置したライセンスファイルを Unity の Project ウィンドウから右クリックで「Copy Path」を選択し、パスをコピーします。
Unity のメニューから Project Settings を開き、Dawn Renderer の項目内の License File Path というテキストボックス内に、先ほどコピーしたパスを貼り付けます。正常にライセンスが認証されると、以下の画像のように有効期限が表示されます。
レンダラーの設定
ビルトインレンダーパイプラインを使用している場合、この設定は不要です。URP を使用している場合、使用しているレンダラーに Renderer Feature を追加する必要があります。
URP のテンプレートからプロジェクトを作成した場合、Assets > Settings フォルダ内にパイプラインのレンダラーの設定があります。インスペクターの下部の「Add Renderer Feature」ボタンから、「Dawn Renderer URP」を選択して追加してください。
注意
PC と モバイルで異なるレンダラーの設定を使用している場合、使用する全てのレンダラーに同様の設定を行ってください。この設定を行っていないと、描画が行われません。
点群の表示方法
シーンの初期設定
Project ウィンドウで検索対象を「In Packages」にして DawnSystem と検索すると、DawnRenderer パッケージ内の DawnSystem というプレハブが見つかります。これを Hierarchy ウィンドウにドラッグ&ドロップし、シーン内に DawnSystem オブジェクトを配置します。
この DawnSystem オブジェクトは、DawnRenderer を使用する全てのシーンに必ず1つ必要です。また、同時に複数個の DawnSystem オブジェクトを配置しないでください。
点群オブジェクトの配置
点群を表示する方法は、あらかじめシーンに配置しておく方法と、スクリプトから動的に作成する方法の二種類あります。
ここでは簡単に点群の表示方法を説明します。
a. 静的にシーン内に配置する方法
Project ウィンドウで検索対象を「In Packages」にして DawnObject と検索すると、DawnRenderer パッケージ内の DawnObject というプレハブが見つかります。これを Hierarchy ウィンドウにドラッグ&ドロップし、シーン内に DawnObject オブジェクトを配置します。
DawnObject のインスペクターから、Source に表示する Dawn 点群ファイル (拡張子 .dawn) のパスを設定し、Source Type を Local File Path にします。
b. 動的にシーン内に生成する方法
DawnObject のプレハブを Instantiate メソッドでインスタンス化して、Load メソッドに Dawn 点群ファイル (拡張子 .dawn) のパスを渡してロードします。
一度 Load メソッドが呼ばれた DawnObject は、後から別の点群ファイルに変更することはできません。別の点群に変更したい場合、プレハブから新たに別のインスタンスを作成して Load メソッドを呼んでください。
[SerializeFiled]
private DawnObject _dawnObjectPrefab;
public async Task LoadPath(string filepath)
{
// プレハブからインスタンスを作成
DawnObject dawnObject = Instantiate(_dawnObjectPrefab);
// 指定のファイルをロード
await dawnObject.Load(filepath, SourceType.LocalFilePath);
}