1.3K Views
February 18, 21
スライド概要
Unity Reflect をカスタマイズする開発の基礎を徹底的に解説します。
Unity Editor を使って、標準のViewerをベースに機能を追加したり、オリジナルアプリを開発するための方法を紹介します。
更に今回は、まだ標準のドキュメントにも記載されていない Unity Reflect Viewer の内部処理についても紐解いて解説していきます。
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
Generative Art — Made with Unity
Speaker a Project Manager 高橋 忍 / Takahashi Shinobu Developer Advocate - AEC 竹内一生 / Takeuchi Issey
Agenda Unity Reflect 開発概要 Dynamic App 開発 Static App 開発 Unity Reflect を紐解く まとめ
5 Generative Art — Made with Unity
Publisher API Viewer API
Plugins BIMツールから,Reflect Server にデータを変換して 公開するプラグイン Dynamic App Static App データの読み込みから表示、な どReflect Viewer のすべての機 能をベースに開発するアプリケー ション BIMデータのみをReflect Server から読み込み、プロジェクトに埋め 込んだものをベースに開発するア プリケーション 固定データを持たない データの更新機能等は無い
データ読み込み モデルデータ表示 データの同期処理 Viewer機能 ウォークスルー データのフィルタリング 太陽シミュレーション等 用途 Dynamic App 実行時 ◎ ◎ Static App 開発時 ◎ ー ◎ 要実装 汎用高機能 Viewer 特定モデル 特定用途アプリ
Unity Reflect Package が含まれたプロジェクトが 公開されているので、そちらをベースに開発する https://github.com/Unity-Technologies/com.unity.reflect.viewer
1. Gitのインストール https://gitforwindows.org/ 2. Git LFSのインストール https://git-lfs.github.com/ コマンドプロンプトで git lfs install を実行 3. プロジェクトのダウンロード コマンドプロンプトで下記を実行 > cd Desktop > md reflectviewer > git clone https://github.com/Unity-Technologies/com.unity.reflect.viewer
Git LFSをインストールしていない GitではなくZipでダウンロードした 原因 固めたリソースを解凍できてない
Unity Hub を開き、「リストに追加」で ダウンロードしたプロジェクトを登録する com.unity.reflect.viewer フォルダ下の ReflectViewer フォルダ
13 Generative Art — Made with Unity
「 Assets Scenes」フォルダから、 シーン「 Reflect.unity」を開く
File > Build Settings PC,Mac … で Build
Missing Project ID」 のダイアログが 表示された 場合、「 Yes」を押下して続行 する
20 Generative Art — Made with Unity
ボタンを追加 Hierarchy > UI Root > UI Main ボタンに機能を設定
ScreenShotButton.Package をインポート Assets > Prefabs > UI > Controls 内の Screenshot Button を Hierarchy > UI Root > UI Main にドロップ Landing Screen Dialog より上に置く (裏に置く)
1. 他のボタンをコピー UI Root > UI Main > Info Button 2. 位置設定/アイコン設定 Button > Image > Source Image 3. スクリプト追加・設定 Main > Screen Shot Controller.cs
■ UIの状態 UIStateManager.stateChanged ■ Button の Enable / Disable Button.interactable = true;
27 Generative Art — Made with Unity
新しいシーンの作成(Ctrl-N) Window → Reflect → Reflect Window
プロジェクトを選んで「Import」 「Locate」 で、プロジェクトに追加 Reflect フォルダに追加される
階層下のフォルダ内にあるPrefabをシーンに追加
Main CameraにFree Camera を追加しよう
32 Generative Art — Made with Unity
Screen Space Ambient Occlusion(SSAO) 対応方法 33
Pipeline Asset Object 内に処理ノードを定義
Reflect の Asset 作成 ノードを作成 4. ノード間の接続を作成 引数
新しいノードを作成して組み込む 37
38 Viewer API Sample サンプル内容
10種類のサンプル
自動で読み込むデータは Pipeline API / Common / .SampleData
Viewer でデータをダウンロード
42 Generative Art — Made with Unity
マルチBIMツール Local, Network, Cloud にアップロード マルチデバイス、AR/VR に対応したViewer
Viewer をカスタマイズして独自アプリを開発可能 BIMデータだけを使ったアプリ開発も可能 Plugins Dynamic App Static App
新しいノードの作成 開発を学ぶ
Generative Art — Made with Unity