SlideShare a Scribd company logo
1 of 28
Download to read offline
AR UnityProject改善なう
Tatsuya Shimada(@usagani)
誰?
Tatsuya Shimada(@usagani or @usaganikki)
リクルート住まいカンパニーからきました
- AR/VRおじさん
- 最近Unityエンジニア(非ゲーム)
- Androidエンジニア
- なんかいろいろ
うさがにっき
http://tiro105.hateblo.jp/
VRといえば!
Unity
- 元々はゲーム開発IDE
- 3D Objectを扱うのが非常に簡単
- 最近では非ゲーム分野(AR/VR)での利用も活発に
https://www.thoughtworks.com/radar/platforms/unity-beyond-gaming
Tango
- 既存のAndroidの仕組みだけでは難しかったAR体験を実現してくれる端末
- Tango機能
- MotionTracking
Tango端末自身がどのように動いているか正確に Track
- DepthPerception
奥行きセンサーにより対象までの距離を正確に計測
- AreaLearning
今見ているものを3D scanして記憶することができる
よくあるマーカー(QRコード)ARが3Dのマーカーが使えると思ってもらえれば
今日何を話すか?
Tango Appをリリースしたものの、突貫工事すぎて手がつけられない
もうだめだ、リリースが僕らのゴールだったんだ・・・
LTドリヴン改善!!!
改善方針
- 問題点整理
- ゴール設定
- 具体的にやること設定
- 効果と工数考えて優先順位設定
問題点整理
- Unity独特の文化やツールの選定で苦しんだ
- コードが密結合すぎて修正範囲が見切れないことが多かった
- 動作確認時、意図しない場所が壊れたりして動作確認時のストレスがすごい
Hierarchy View
Project View
Inspector View
Scene View
Unity各要素説明
- Scene View
画面(Activity)内のGameObjectがどの位置に表示されているか表す
- Hierarchy View
画面(Activity)内にGameObjectがどんな階層でおかれているか表す
- Project View
Project全体で使える部品
- Inspector View
画面内のGameObjectの詳細情報、クリックイベントなどを設定できたりする
苦しんだこと
- Inspector Viewで設定したはずの値やイベントが反映されていないことがあった
- コード管理にUnityから提供されているCollaborate(β版)を使った、まだ実用レ
ベルじゃなかった
- テストのアプリの配布にCloudBuildというUnityから提供されているシステムを使
おうとしたが、手元での実行結果とCloudBuildでの実行結果が違った
圧倒的Unity力不足!!
改善ゴール
- 動作確認にかかるコスト削減
- アプリ改善、修正時余計な箇所が壊れないようにする
- もっと適切なツールを探して楽をする
具体策
1. 開発ツール再選定
2. コード規約策定
3. コードレビュー体制確立
4. 設定方針決定、反映
5. 単体テストコード
6. 結合テストコード
7. CI環境作成
いまここらへん!!
開発ツール再選定
- Unity 5.6f
- git(bitBucket)、必要に応じてSouceTree
- Visual Studio Code
- Trello
- confluence(社内), qiita(社外)
コード規約策定
- 基本的にMicrosoftのC#コーディング規約に従う
https://docs.microsoft.com/ja-jp/dotnet/articles/csharp/programming-gui
de/inside-a-program/coding-conventions
- varの利用方法
- 削除の必要のないイベントはラムダ式をつかう
レビュー体制確立
どこまでレビューで保証するかを決める
- Script
- 設計、ロジック、修正範囲が適切か確認
- Inspector View
- アタッチオブジェクトが適切か確認
オブジェクトが抜け落ちてしまう問題は UnityEditorというUnityの機能拡張で回避
- Scene View, Hierarchy View
- 不要なものがないか確認
設計方針
- MVPモデルを採用
- Unityにおける前例も多く、ドキュメントが豊富
- 慣れ親しんだRxであるUniRxライブラリの導入も容易になる
http://yutakaseda3216.hatenablog.com/entry/2017/02/22/151204
単体テスト
Unityに組み込まれているTestRunner > EditorModeをつかう
- Unity上での実行が可能
- もちろんCIでの実行も可能
- ビルドしなくても実行可能
- ライフサイクルに影響を与えるようなテストができない
- 実機でテストができない(Android固有機能についてのテストができない)
- 非同期処理のテストができない
結合テスト
Unityに組み込まれているTestRunner > PlayMode(Unity5.6~)をつかう
- Unity上での実行が可能
- もちろんCIでの実行も可能
- ライフサイクルに影響が与えるテストができる
- 実機でテストができる
- ビルドが必要
-
CI環境
- Jenkinsを使い、ビルド、静的コード解析、テストを行う
- Unityビルド用のプラグイン(unity3dBuilder)があるので比較的ビルドは簡単
-
- iOS対応時にはipa作成に時間がかかるのでipa作成もここでやる、(apkはunity
が出力してくれる)
今後
- MVPにそってTDDでコードリファクタリング中
- だいぶ可読性が上がった気がする
- テストコードはだいたいjUnitと書き方が変わらないので書くのは簡単
- 適切な設計と戦略が重要
今後
- Unite2017TokyoでUnity 2017.2でTangoのnativeサポートが発表された、現在
より開発は楽になる
- ARアプリに使われているAR SDKのVuforiaのnativeサポートも発表された
ARアプリはさらに作りやすくなるはず!!!
最後に
- Androidほど開発手法の議論はされていない印象
- 昨日行われたUnite2017TokyoでもUnity5.x系の命題の一つが効率的な開発と
いわれていた
- 今回利用に至らなかったCloudBuild, Collaborate、Github for unityなど便利な
ツールは次々と開発が進んでいる
-
- 健全なプロジェクト運営はAndroidもUnityも重要な点は変わらないことがよくわ
かった、Androidのテスト、設計方針はUnityにそのまま活かせる!みんなUnity
やろう!
各種情報
Tango
https://developers.google.com/tango/developer-overview?hl=ja
Tango developers(Google plus)
https://plus.google.com/communities/114537896428695886568
Unity forum
https://forum.unity3d.com/
かなり優しく教えてくれます!!

More Related Content

What's hot

快適なVRコンテンツ制作に必要な情報源のまとめ
快適なVRコンテンツ制作に必要な情報源のまとめ快適なVRコンテンツ制作に必要な情報源のまとめ
快適なVRコンテンツ制作に必要な情報源のまとめYuichi Ishii
 
XR Kaigi 2020 / “VRの世界で生きていく” ための基盤技術
XR Kaigi 2020 / “VRの世界で生きていく” ための基盤技術XR Kaigi 2020 / “VRの世界で生きていく” ための基盤技術
XR Kaigi 2020 / “VRの世界で生きていく” ための基盤技術VirtualCast, Inc.
 
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 TokyoVRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 TokyoNaoji Taniguchi
 
Practical use of game engine in CG and Robotics
Practical use of game engine in CG and RoboticsPractical use of game engine in CG and Robotics
Practical use of game engine in CG and RoboticsNaoji Taniguchi
 
VRをはじめよう!
VRをはじめよう!VRをはじめよう!
VRをはじめよう!Satoshi Noda
 
PRIME BIRDの開発バナシ
PRIME BIRDの開発バナシPRIME BIRDの開発バナシ
PRIME BIRDの開発バナシkazuya noshiro
 
Couchbase x unity
Couchbase x unityCouchbase x unity
Couchbase x unityMakotoItoh
 
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...TARO KOBAYASHI
 
AROW の紹介 〜概要編〜
AROW の紹介 〜概要編〜AROW の紹介 〜概要編〜
AROW の紹介 〜概要編〜Drecom Co., Ltd.
 
Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発Takashi Yoshinaga
 
わたしのVisual studio環境
わたしのVisual studio環境わたしのVisual studio環境
わたしのVisual studio環境Keigo Ando
 
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2DVTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2Dgree_tech
 
Tokyo XR Meetup / ライブ体験を量子化する技術
Tokyo XR Meetup / ライブ体験を量子化する技術Tokyo XR Meetup / ライブ体験を量子化する技術
Tokyo XR Meetup / ライブ体験を量子化する技術VirtualCast, Inc.
 
「AROW」お披露目(導入編)
「AROW」お披露目(導入編)「AROW」お披露目(導入編)
「AROW」お披露目(導入編)Drecom Co., Ltd.
 
VR_Future_Vision_2016
VR_Future_Vision_2016VR_Future_Vision_2016
VR_Future_Vision_2016Takashi Jona
 

What's hot (20)

快適なVRコンテンツ制作に必要な情報源のまとめ
快適なVRコンテンツ制作に必要な情報源のまとめ快適なVRコンテンツ制作に必要な情報源のまとめ
快適なVRコンテンツ制作に必要な情報源のまとめ
 
Unreal Engine 4 Education 2 UnityとUE4の違いは?
Unreal Engine 4 Education 2 UnityとUE4の違いは?Unreal Engine 4 Education 2 UnityとUE4の違いは?
Unreal Engine 4 Education 2 UnityとUE4の違いは?
 
UE4モバイルでノンゲームコンテンツ
UE4モバイルでノンゲームコンテンツUE4モバイルでノンゲームコンテンツ
UE4モバイルでノンゲームコンテンツ
 
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
 
XR Kaigi 2020 / “VRの世界で生きていく” ための基盤技術
XR Kaigi 2020 / “VRの世界で生きていく” ための基盤技術XR Kaigi 2020 / “VRの世界で生きていく” ための基盤技術
XR Kaigi 2020 / “VRの世界で生きていく” ための基盤技術
 
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 TokyoVRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
VRを使ったビジュアライゼーションの可能性について @Unite 2015 Tokyo
 
Practical use of game engine in CG and Robotics
Practical use of game engine in CG and RoboticsPractical use of game engine in CG and Robotics
Practical use of game engine in CG and Robotics
 
VRをはじめよう!
VRをはじめよう!VRをはじめよう!
VRをはじめよう!
 
PRIME BIRDの開発バナシ
PRIME BIRDの開発バナシPRIME BIRDの開発バナシ
PRIME BIRDの開発バナシ
 
Couchbase x unity
Couchbase x unityCouchbase x unity
Couchbase x unity
 
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
 
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
 
AROW の紹介 〜概要編〜
AROW の紹介 〜概要編〜AROW の紹介 〜概要編〜
AROW の紹介 〜概要編〜
 
Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発
 
わたしのVisual studio環境
わたしのVisual studio環境わたしのVisual studio環境
わたしのVisual studio環境
 
Vr talks lt
Vr talks ltVr talks lt
Vr talks lt
 
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2DVTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
VTuber・XRライブエンタメ駆動の研究開発 - GREE VR Studio Laboratory のR2D
 
Tokyo XR Meetup / ライブ体験を量子化する技術
Tokyo XR Meetup / ライブ体験を量子化する技術Tokyo XR Meetup / ライブ体験を量子化する技術
Tokyo XR Meetup / ライブ体験を量子化する技術
 
「AROW」お披露目(導入編)
「AROW」お披露目(導入編)「AROW」お披露目(導入編)
「AROW」お披露目(導入編)
 
VR_Future_Vision_2016
VR_Future_Vision_2016VR_Future_Vision_2016
VR_Future_Vision_2016
 

Similar to Ar unity project改善

波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)maginemu Mishimagi
 
android bazaar and conference 2014 spring
android bazaar and conference 2014 springandroid bazaar and conference 2014 spring
android bazaar and conference 2014 springHirotaka Niisato
 
GroveSystemの紹介
GroveSystemの紹介GroveSystemの紹介
GroveSystemの紹介Dan Imagineer
 
AROW の紹介 〜実践編〜
AROW の紹介 〜実践編〜AROW の紹介 〜実践編〜
AROW の紹介 〜実践編〜Drecom Co., Ltd.
 
Fandroid大垣支部「Arduinoでやってみたがや」
Fandroid大垣支部「Arduinoでやってみたがや」Fandroid大垣支部「Arduinoでやってみたがや」
Fandroid大垣支部「Arduinoでやってみたがや」Shinichi Ozaki
 
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETCGREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETCGREE VR Studio Lab
 
SoftBank MR Intel Simulator(仮)の体験について
SoftBank MR Intel Simulator(仮)の体験についてSoftBank MR Intel Simulator(仮)の体験について
SoftBank MR Intel Simulator(仮)の体験について貴文 湯浅
 
Unity恐くないよ!!
Unity恐くないよ!!Unity恐くないよ!!
Unity恐くないよ!!nakamura001
 
ひと目で尋常でないポジトラだと見抜いたよ @izugch4423
ひと目で尋常でないポジトラだと見抜いたよ @izugch4423ひと目で尋常でないポジトラだと見抜いたよ @izugch4423
ひと目で尋常でないポジトラだと見抜いたよ @izugch4423Izumi Shirosaki
 
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -Takahiro Miyaura
 
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~Web Technology Corp.
 
基板とブラウザと私
基板とブラウザと私基板とブラウザと私
基板とブラウザと私Wakasa Masao
 
Azure Remote Renderingを試す
Azure Remote Renderingを試すAzure Remote Renderingを試す
Azure Remote Renderingを試すTakahiro Miyaura
 
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~Takahiro Miyaura
 
ARCore/Tangoと簡易ヘッドセットHoloKitで光学シースルーAR
ARCore/Tangoと簡易ヘッドセットHoloKitで光学シースルーARARCore/Tangoと簡易ヘッドセットHoloKitで光学シースルーAR
ARCore/Tangoと簡易ヘッドセットHoloKitで光学シースルーARTakashi Yoshinaga
 
IoTでいうところのIよりの知識でTする
IoTでいうところのIよりの知識でTするIoTでいうところのIよりの知識でTする
IoTでいうところのIよりの知識でTするminoru nakanou
 
VRを使ったData Visualizationの可能性について
VRを使ったData Visualizationの可能性についてVRを使ったData Visualizationの可能性について
VRを使ったData Visualizationの可能性についてNaoji Taniguchi
 
CLT-014_ゲーム開発だけじゃない! Unity で作る UWP アプリ
CLT-014_ゲーム開発だけじゃない! Unity で作る UWP アプリCLT-014_ゲーム開発だけじゃない! Unity で作る UWP アプリ
CLT-014_ゲーム開発だけじゃない! Unity で作る UWP アプリdecode2016
 

Similar to Ar unity project改善 (20)

ARKit native or unity
ARKit native or unity ARKit native or unity
ARKit native or unity
 
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
 
android bazaar and conference 2014 spring
android bazaar and conference 2014 springandroid bazaar and conference 2014 spring
android bazaar and conference 2014 spring
 
GroveSystemの紹介
GroveSystemの紹介GroveSystemの紹介
GroveSystemの紹介
 
IoT with Unity
IoT with UnityIoT with Unity
IoT with Unity
 
AROW の紹介 〜実践編〜
AROW の紹介 〜実践編〜AROW の紹介 〜実践編〜
AROW の紹介 〜実践編〜
 
Fandroid大垣支部「Arduinoでやってみたがや」
Fandroid大垣支部「Arduinoでやってみたがや」Fandroid大垣支部「Arduinoでやってみたがや」
Fandroid大垣支部「Arduinoでやってみたがや」
 
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETCGREE Tech Conf 2022 GREE VR Studio Laboratory  - UXDev R&D Summary 2022 #GREETC
GREE Tech Conf 2022 GREE VR Studio Laboratory - UXDev R&D Summary 2022 #GREETC
 
SoftBank MR Intel Simulator(仮)の体験について
SoftBank MR Intel Simulator(仮)の体験についてSoftBank MR Intel Simulator(仮)の体験について
SoftBank MR Intel Simulator(仮)の体験について
 
Unity恐くないよ!!
Unity恐くないよ!!Unity恐くないよ!!
Unity恐くないよ!!
 
ひと目で尋常でないポジトラだと見抜いたよ @izugch4423
ひと目で尋常でないポジトラだと見抜いたよ @izugch4423ひと目で尋常でないポジトラだと見抜いたよ @izugch4423
ひと目で尋常でないポジトラだと見抜いたよ @izugch4423
 
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
 
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
改めて注目される2D アニメーションツール SpriteStudio ~国産2Dツールが(舶来ゲームエンジンの力を借りながら)世界へ~
 
基板とブラウザと私
基板とブラウザと私基板とブラウザと私
基板とブラウザと私
 
Azure Remote Renderingを試す
Azure Remote Renderingを試すAzure Remote Renderingを試す
Azure Remote Renderingを試す
 
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
 
ARCore/Tangoと簡易ヘッドセットHoloKitで光学シースルーAR
ARCore/Tangoと簡易ヘッドセットHoloKitで光学シースルーARARCore/Tangoと簡易ヘッドセットHoloKitで光学シースルーAR
ARCore/Tangoと簡易ヘッドセットHoloKitで光学シースルーAR
 
IoTでいうところのIよりの知識でTする
IoTでいうところのIよりの知識でTするIoTでいうところのIよりの知識でTする
IoTでいうところのIよりの知識でTする
 
VRを使ったData Visualizationの可能性について
VRを使ったData Visualizationの可能性についてVRを使ったData Visualizationの可能性について
VRを使ったData Visualizationの可能性について
 
CLT-014_ゲーム開発だけじゃない! Unity で作る UWP アプリ
CLT-014_ゲーム開発だけじゃない! Unity で作る UWP アプリCLT-014_ゲーム開発だけじゃない! Unity で作る UWP アプリ
CLT-014_ゲーム開発だけじゃない! Unity で作る UWP アプリ
 

Ar unity project改善