徹底解説 Unity Reflect【開発編 ver2.0】

1.3K Views

February 18, 21

スライド概要

Unity Reflect をカスタマイズする開発の基礎を徹底的に解説します。
Unity Editor を使って、標準のViewerをベースに機能を追加したり、オリジナルアプリを開発するための方法を紹介します。
更に今回は、まだ標準のドキュメントにも記載されていない Unity Reflect Viewer の内部処理についても紐解いて解説していきます。

profile-image

リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Generative Art — Made with Unity

2.

Speaker a Project Manager 高橋 忍 / Takahashi Shinobu Developer Advocate - AEC 竹内一生 / Takeuchi Issey

4.

Agenda Unity Reflect 開発概要 Dynamic App 開発 Static App 開発 Unity Reflect を紐解く まとめ

5.

5 Generative Art — Made with Unity

6.

Publisher API Viewer API

7.

Plugins BIMツールから,Reflect Server にデータを変換して 公開するプラグイン Dynamic App Static App データの読み込みから表示、な どReflect Viewer のすべての機 能をベースに開発するアプリケー ション BIMデータのみをReflect Server から読み込み、プロジェクトに埋め 込んだものをベースに開発するア プリケーション 固定データを持たない データの更新機能等は無い

8.

データ読み込み モデルデータ表示 データの同期処理 Viewer機能 ウォークスルー データのフィルタリング 太陽シミュレーション等 用途 Dynamic App 実行時 ◎ ◎ Static App 開発時 ◎ ー ◎ 要実装 汎用高機能 Viewer 特定モデル 特定用途アプリ

9.

Unity Reflect Package が含まれたプロジェクトが 公開されているので、そちらをベースに開発する https://github.com/Unity-Technologies/com.unity.reflect.viewer

10.

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

11.

Git LFSをインストールしていない GitではなくZipでダウンロードした 原因 固めたリソースを解凍できてない

12.

Unity Hub を開き、「リストに追加」で ダウンロードしたプロジェクトを登録する com.unity.reflect.viewer フォルダ下の ReflectViewer フォルダ

13.

13 Generative Art — Made with Unity

15.

「 Assets Scenes」フォルダから、 シーン「 Reflect.unity」を開く

17.

File > Build Settings PC,Mac … で Build

18.

Missing Project ID」 のダイアログが 表示された 場合、「 Yes」を押下して続行 する

19.

20 Generative Art — Made with Unity

20.

ボタンを追加 Hierarchy > UI Root > UI Main ボタンに機能を設定

22.

ScreenShotButton.Package をインポート Assets > Prefabs > UI > Controls 内の Screenshot Button を Hierarchy > UI Root > UI Main にドロップ Landing Screen Dialog より上に置く (裏に置く)

24.

1. 他のボタンをコピー UI Root > UI Main > Info Button 2. 位置設定/アイコン設定 Button > Image > Source Image 3. スクリプト追加・設定 Main > Screen Shot Controller.cs

25.

■ UIの状態 UIStateManager.stateChanged ■ Button の Enable / Disable Button.interactable = true;

26.

27 Generative Art — Made with Unity

27.

新しいシーンの作成(Ctrl-N) Window → Reflect → Reflect Window

28.

プロジェクトを選んで「Import」 「Locate」 で、プロジェクトに追加 Reflect フォルダに追加される

29.

階層下のフォルダ内にあるPrefabをシーンに追加

30.

Main CameraにFree Camera を追加しよう

31.

32 Generative Art — Made with Unity

32.

Screen Space Ambient Occlusion(SSAO) 対応方法 33

34.

Pipeline Asset Object 内に処理ノードを定義

35.

Reflect の Asset 作成 ノードを作成 4. ノード間の接続を作成 引数

36.

新しいノードを作成して組み込む 37

37.

38 Viewer API Sample サンプル内容

38.

10種類のサンプル

39.

自動で読み込むデータは Pipeline API / Common / .SampleData

40.

Viewer でデータをダウンロード

41.

42 Generative Art — Made with Unity

42.

マルチBIMツール Local, Network, Cloud にアップロード マルチデバイス、AR/VR に対応したViewer

43.

Viewer をカスタマイズして独自アプリを開発可能 BIMデータだけを使ったアプリ開発も可能 Plugins Dynamic App Static App

44.

新しいノードの作成 開発を学ぶ

45.

Generative Art — Made with Unity