105 Views
June 07, 17
スライド概要
講演者:高田 知典(DVERSE Inc.)
こんな人におすすめ
・VR開発に興味がある人
・Unityをビジネス用途で使いたい人
・ゲーム/コンテンツの海外展開に興味がある人
受講者が得られる知見
・VRのパフォーマンスチューニング
・ビジネス向けVRソフトウェアの設計勘所
講演動画:https://youtu.be/P_rw6-K-ZmQ
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
CTO, DVERSE Inc.
3 CAD VR
• SYMMETRY • SYMMETRY alpha • SYMMETRY
SYMMETRY
DVERSE Inc.
SYMMETRY VR IT • BIM, i-Construction • VR http://symmetryvr.com/
https://twitter.com/tipatat/status/839639362572800001
SYMMETRY alpha HTC Vive SketchUp CAD VR • 2017/02/14 Steam • 90 • CAD VR http://store.steampowered.com/app/585340/ 3D
3D Basecamp 2016: June 13-15 in Steamboat Springs ※SketchUp ユーザの2年に1度のお祭り(コロラド州) AIA Conference on Architecture 2017 April 27-29, Orlando ※アメリカ建築家協会主催の展示会(フロリダ州) グローバル市場を獲りに行く
SYMMETRY alpha
3 • CAD⇒VR • •
CAD⇒VR CADで VDC ( Virtual Design and Construction ) 設計 ⇒ VRで確 認 ⇒ VR
A Cloud Convert CAD VR Editor Save Import 数分
SYMMETRY alpha Import CAD (SketchUp) Save SYMMETRY alpha Import 数秒~数十秒 VR
3 • CAD⇒VR • •
SYMMETRY alpha Import 数秒~数十秒
SketchUp インポート時間(秒) 60 50 40 30 20 10 0 Face:5567, Material:23, Layer:4, Group:233, Comp. Definition:21, Comp. Instance:511 ⇒ 50 3.5
SketchUp SketchUp SDK (C++ DLL) Unity Native Plugin (C DLL) SYMMETRY alpha (C#) JSON GameObject / Mesh Texture Material Unity
テクスチャ JSON JSON 書き出し シリアライズ デシリアライズ SYMMETRY alpha VR ⇒ HTC Vive ⇒1 ⇒ ⇒ マテリアル生成 90 fps 0.011 1 1 Update() GameObject / Mesh 生成
Unity コルーチン メリット デメリット ・一つの関数を複数のフレームにまた がって処理できる ・一つのCPUを時間分割するだけ ・効率良くフレームに分割するのが難しい ・プログラミングが楽 マルチスレッド ⇒ ・マルチコアCPUを生かして、複数の処 理を同時に実行できる ・Unity APIが使えない (Unity APIはメインスレッドでしか使えない) ・Unityのフレームを意識しなくてよい ・排他制御が必要
テクスチャ JSON JSON 書き出し シリアライズ デシリアライズ マテリアル生成 GameObject / Mesh 生成 Native Plugin を別ス Unity API の JsonUtility は、マルチスレッドに対応している! レッドで呼び出す https://docs.unity3d.com/jp/current/Manual/JSONSerialization.html
JsonUtility JSON • ⇒ • Dictionary ⇒ Key/Value List ※ISerializationCallbackReceiver 7 • http://answers.unity3d.com/questions/1123311/jsonutilityfromjson-depth-limitation.html ⇒ SketchUp …
SketchUp Unity SketchUp Transform JSON SketchUp List ※ISerializationCallbackReceiver ⇒ JsonUtility OnAfterDeserialize()
JSON JSON I/O • JSON • JSON Pretty public class SUComponentDefinition { public string N; public string Name { get { return N; } set { N = value; } } ⇒ JSON ⇒ … 1
SketchUp LZ4 BuildPipeline.BuildAssetBundles(outputPath, BuildAssetBundleOptions.ChunkBasedCompression | BuildAssetBundleOptions.ForceRebuildAssetBundle, EditorUserBuildSettings.activeBuildTarget);
GameObject
yield
…
※
Stack
IEnumerator makeNode(SUNode node, GameObject nodeObject) {
if (nodeIndex % 10 == 0)
yield return null;
makeMeshComponents(node, nodeObject);
foreach (var group in node.Groups) {
GameObject groupObject = new GameObject();
groupObject.transform.parent = nodeObject.transform;
nodeIndex++;
yield return makeNode(group, groupObject);
}
IEnumerator makeNodes(SUModel model, GameObject modelObject) {
Stack<SUNode> nodeStack = new Stack<SUNode>();
Stack<GameObject> nodeObjectStack = new Stack<GameObject>();
nodeStack.Push(model.NodeList[0]);
nodeObjectStack.Push(modelObject);
while (nodeStack.Count != 0) {
if (nodeIndex % 10 == 0)
yield return null;
SUNode node = nodeStack.Peek();
GameObject nodeObject = nodeObjectStack.Peek();
}
…
⇒
⇒
暗黒すぎるので略
3 • CAD⇒VR • •
LOD (Level Of Detail) SketchUp LODGroup … SYMMETRY alpha ⇒ ⇒ GPU ⇒
SYMMETRY
• SYMMETRY alpha • 2017 3Q • 2018 1Q • SYMMETRY ****** • 2017 4Q
http://dverse.me/ja/recruit/ • Unity • • UI / UX • VR • • • 3D • CAD • AI • /
Thank you!