SlideShare a Scribd company logo
1 of 77
AirTap & Spatial Mapping
HoloLens Programming Tutorial:
Development Tools
Development environment:Unity
 Game engine and development environment for multi-platform
 You can visually place CGs and add functions by using GUI
 Interactive behavior can be described in C# or javascript
 HoloLens is supported from Unity 5.5
Development support tool::HoloToolkit
 Toolkit to support the development of HoloLens compatible systems
 You can use AirTap and cursor behavior, spatial mapping easily
 Various sample programs are provided
 Also provides functions such as moving viewpoint on Unity editor
It is possible to develop without HoloLens or emulator
2
Goal of this tutorial
YouTube → https://youtu.be/_BmbL4yw8R0
3
First of all, the basic operation of Unity
4
Create a project
(1) Extract HoloToolkit-Unity-master.zip to any directory
(2) After starting Unity, click OPEN at the upper right of the screen
OPEN
5
Create a project
Open HoloToolkit-Unity-masterfolder and click [folder selection]
HoloToolkit-Unity-master
Select folder
HoloToolkit-Unity-master
6
Unity operation screen (overview)
Game space design area
Name list of objects
placed in space
List of Asset (CG, program, etc.) added to the project 7
Let's add CG to the game space
Right click
3D Object→Cube
8
Let's run
Click and run
Click to Exit
Space seen from
a camera
9
Adjust the position, orientation and size of the object
Click and select
move rotate zoom in / out
10
Let's change the perspective of Scene
[←][→] -Move left and right
[↑] [↓] -Zoom in/out
[Alt] + drag -Rotation
Other thingshttp://goo.gl/Lq1ILT
→ http://goo.gl/Lq1ILT
11
Designation of CG position/ size using numerical values
Click
Change Position to 0 0 1.2 Change all scale to 0.15
※ The unit of position and size is meter
Inspector(≒Detailed Information
12
Editing CG detailed information :color setting (1/3)
②Right click
③ Create
Make detailed material to set colour and texture
④ Material
①Assets
13
Editing CG detailed information: color setting (2/3)
Edit colour (Albedo) of the created material
(2) Click on the white area next
to Albedo and select a color
(1) Select created material
14
Editing CG detailed information: colour setting (3/3)
Open the material of the Cube to assign the created material
(2) Top of Materials▼
(1)Cube
(3) Drag and drop to
Element 0 review
15
Check
It is OK if the colour is reflected. You can change the colour later.
16
Setting the influence of gravity
Add Component
選択
RigidBody
17
Operation check and fine adjustment
Let's run it
When Cube looks smaller, change Position of MainCame to 0, 0, 0
18
Creation of ground
Click right
3D Object→Plane
19
Adjust the ground position
Plane
Change Position to 0 -0.8 0
20
Save Scene
Scene Name
 Open the dialog with [Ctrl] + [s] and save with your favourite name
 Frequently save during content creation
21
Development using HoloToolKit
22
Setting HoloLens Camera
Delete Main Camera
23
Adding HoloLens Camera
(1) Assets → HoloToolkit → Input → Prefabs
(2)Drag & Drop HoloLens Camera
24
Check
Light & Left by[←] [→]
Forward & Backword by[↑] [↓]
Up & down by[Q] [E]
Rotation by right click + mouse move
25
Supplement: Adjust movement / rotation sensitivity
(1) Select operation content
KeyboardXZTranslation
(2) Sensitivity Scale to 2
(3) Axis Type to Keyboard Arrows
Amount of movement when pushing keys :↑↓← → , will become less than the default
26
Spatial recognition using SpatialMapping
Remove Plane
27
Spatial recognition using SpatialMapping
Assets → HoloToolkit → SpatialMapping → Prefabs
Drag & drop SpatialMapping
28
Operation
Space is recognized by actual HoloLens, but not by PC
29
Importing a space model (official sample)
② Assets → HoloToolkit → SpatialMapping → Tests → Meshes
③ Drag & drop SRMesh into Room Model
① Spatial Mapping
30
Importing a space model (official sample)
(1)Run
The model of the room is displayed
More simplified one provided instead of more complexed one 31
A room for use
32
Import of space model (for study group)
Assets
→ Import New Asset
→ isit.obj
Import spatial model (isit.obj) prepared as sample
33
Import of space model
(2)SpatialMapping
(3) Drag & drop into Room Model
(1)Assets
34
Change appearance of mesh
Click button next to
Surface Material SpatialMappingWireframe
Before After
35
Create and drop Cube at the same time as AirTap
What to do next
36
Add function to manage input operations such as AirTap
(1)HoloToolkit → Input → Prefabs
(2)Drag & drop Input Manager
37
Check motion
Run
(1) Press [Shift] to use hand
(2) Left-click emulates AirTap
38
Create a script to receive AirTap
Right click on
blank of herarchy
Create Empty
Create an empty object to attach script
39
Create a script to receive AirTap
(1)GameObject
(2)Add Component
40
Create a script to receive AirTap
New Script
Scriot name
e.g.RcvAirTap
Create and Add
Added
41
Open script file by VisualStudio
Assets
Double click on
script (RcvAirTap)
42
Writing a script
using HoloToolkit.Unity.InputModule;
public class RcvAirTap : MonoBehaviour
{
// Start function is executed only once for initialization
void Start () {"R
obot Kyle");
}
// Update function is executed every frame
void Update () {
}
}
First, load InputModule and implement IInputClickHandler
, IInputClickHandler
43
Writing a script
public class RcvAirTap : MonoBehaviour , IInputClickHandler
{
// Start function is executed only once for initialization
void Start () {
}
// Update function to be executed every frame
void Update () {
}
}
•Move the cursor to llnputClickHandler,
Select lmplement interface from hint
44
Check the status quo
using HoloToolkit.Unity.InputModule;
public class RcvAirTap : MonoBehaviour , IInputClickHandler
{
//Called up function when AirTapped
public void OnInputClicked(InputEventData eventData)
{
throw new NotImplementedException();
}
void Start () {
}
void Update () {
}
}
throw new NotImplementedException();
Delete this line as unnecessary
45
What to do next
InputManager knows AirTap is done or not
Previous script is written here
Notify GameObject when InputManager recognizes AirTap
46
Receive AirTap
public class RcvAirTap : MonoBehaviour , IInputClickHandler
{
//Called up function when AirTapped
public void OnInputClicked(InputEventData eventData)
{
Debug.Log("AirTap!");
}
void Start () {
InputManager.Instance.
PushFallbackInputHandler(gameObject);
}
void Update () {
}
}
Register so that AirTap will
be notified to gameObject
with this script attached
47
Check motion
Run
AirTap! To be displayed
Console tab
48
Prefabrication of Edited Cube
(1) Assets
(2) Drag & drop Cube
49
What to do next
Cube prefab
Create a Cube (Prefab) in space for each AirTap
50
Generation of cube using script
public class RcvAirTap : MonoBehaviour , IInputClickHandler
{
//Variables to handle Cube prefab
public GameObject original;
public void OnInputClicked(InputEventData eventData)
{
// Instantiate cube using Cube prefab
GameObject cube = GameObject.Instantiate(original);
//Convert the position 1.2 m ahead from your
//viewpoint into the position in real space
cube.transform.position =
Camera.main.transform.TransformPoint(0, 0, 1.2f);
Debug.Log("AirTap!");
}
/*Omitted below*/
51
Assign Cube Prefab with variable of script
(1) Assets
(2) GameObject
Associate variable(=original) of script with Cube Prefab
Drag & drop Cub into Original
52
Check
Run
Generate cubes as many times as AirTapped
53
Limit the number of cubes
//container holding several cubes
List<GameObject> list = new List<GameObject>();
public void OnInputClicked(InputEventData eventData)
{
GameObject cube = GameObject.Instantiate(original);
cube.transform.position =
Camera.main.transform.TransformPoint(0, 0, 1.2f);
if (list.Count == 10)
{
Destroy(list[0]); //Delete the oldest cubes from space
list[0] = null;
list.RemoveAt(0); // Remove element in list 0
}
list.Add(cube);
}
54
Let's run on HoloLens: Confirm Quality
Edit
Project Settings
Quality
Fastest
55
Run on HoloLens: Build Setting
(1)Edit
(2)Project Settings
(3)Player
(4)Name ProductName
for yours
(5)Windows Store App
56
Run on HoloLens: Build Setting
Name Short
namefor yours
icon Other Settings
Virtual Reality
Supported
Publishing Settings
Name Package
Namefor yours
57
Run on HoloLens: Build Setting
File
Build Settings
58
Run on HoloLens: Build
Add OpenScenes
Windows Store
Switch Platform
・ SDK
Universal 10
・ Target device
HoloLens
・ UWP Build Type
D3D
Finally Build
59
Run on HoloLens: Create a folder for Build
Name App
New folder
Select folder
60
Project
yourname.sln
Appfolder
61
Run on a real machine: Deploy to HoloLens
x86
Click ▼
Remote
(In case of
Wifiapplication)
62
Run on a real machine: Deploy to HoloLens
In put HoloLens IP
Click Select
63
Run on a real machine: Deploy to HoloLens
Debug
Start Without
Debugging
64
Check motion
65
Hide the mesh
Spatial Mapping Smatial Mapping Manager
Click 〇
Select Spatial Mapping Occlusion for material
66
Increase the display range
HoloLens Camera
Change Nearto 0.3
Decreasing the value of the camera's Near, will work out
even in case of approaching to some extent
67
Import images pasted on Cube
[Assets]→
[Import New Asset]
→ Select the image you brought up
68
Material setting change
Click on the material (New Material) assigned to Cube
69
Material setting change
(1) Shader
(2) Unlit
(3) Texture
70
Paste texture
Drag and drop images
71
Completion
72
Any questions?
Please Contact Me!
Name:
Takashi Yoshinaga
Affiliation:
Institute of Systems, Information
Technologies and Nanotechnologies
Title:
(1) Researcher
(2) Microsoft MVP for Windows Development
taka.yoshinaga @tks_yoshinaga
YoshinagaTakashi
74
I’m also waiting for your suggestions on English expressions :)
HoloLens Programming Tutorial: AirTap & Spatial Mapping
HoloLens Programming Tutorial: AirTap & Spatial Mapping
HoloLens Programming Tutorial: AirTap & Spatial Mapping

More Related Content

What's hot

LEGO® Serious Play® — For Managers
LEGO® Serious Play® — For ManagersLEGO® Serious Play® — For Managers
LEGO® Serious Play® — For ManagersMichael Tarnowski
 
Lego® Serious Play® in a Nutshell - by StrategicPlay®
Lego® Serious Play® in a Nutshell - by StrategicPlay®Lego® Serious Play® in a Nutshell - by StrategicPlay®
Lego® Serious Play® in a Nutshell - by StrategicPlay®StrategicPlay®
 
LEGO SERIOUS PLAY: Imagination & Creativity for the Business
LEGO SERIOUS PLAY: Imagination & Creativity for the BusinessLEGO SERIOUS PLAY: Imagination & Creativity for the Business
LEGO SERIOUS PLAY: Imagination & Creativity for the BusinessPatrizia Bertini
 
Using LEGO Serious Play to boost collective creativity & increase trust
Using LEGO Serious Play to boost collective creativity & increase trustUsing LEGO Serious Play to boost collective creativity & increase trust
Using LEGO Serious Play to boost collective creativity & increase trustPatrizia Bertini
 
LEGO SERIOUS PLAY Open Source Guide Issued by LEGO Group
LEGO SERIOUS PLAY Open Source Guide Issued by LEGO GroupLEGO SERIOUS PLAY Open Source Guide Issued by LEGO Group
LEGO SERIOUS PLAY Open Source Guide Issued by LEGO GroupMarko Rillo
 
LEGO® Serious Play®. How To Solve Your Business Challenges Playfully
LEGO® Serious Play®. How To Solve Your Business Challenges PlayfullyLEGO® Serious Play®. How To Solve Your Business Challenges Playfully
LEGO® Serious Play®. How To Solve Your Business Challenges PlayfullyMichael Tarnowski
 
Lego Serious Play & Business Model Canvas
Lego Serious Play & Business Model CanvasLego Serious Play & Business Model Canvas
Lego Serious Play & Business Model CanvasJan Peeters
 
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)Takashi Yoshinaga
 
Vortrag Das Agile Mindset borisglogerconsulting - Agilen-Konferenz – Frankfur...
Vortrag Das Agile Mindset borisglogerconsulting - Agilen-Konferenz – Frankfur...Vortrag Das Agile Mindset borisglogerconsulting - Agilen-Konferenz – Frankfur...
Vortrag Das Agile Mindset borisglogerconsulting - Agilen-Konferenz – Frankfur...Carsten Rasche
 
Unityで意外と簡単・・・だけど難しいVRコンテンツ
Unityで意外と簡単・・・だけど難しいVRコンテンツUnityで意外と簡単・・・だけど難しいVRコンテンツ
Unityで意外と簡単・・・だけど難しいVRコンテンツinfinite_loop
 
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編Unity Technologies Japan K.K.
 
Agile is not a mindset: Wie being agile wirklich gelingt
Agile is not a mindset: Wie being agile wirklich gelingtAgile is not a mindset: Wie being agile wirklich gelingt
Agile is not a mindset: Wie being agile wirklich gelingtJoël Krapf
 
Serious Work How to Facilitate Meetings and Workshops Using the LEGO® SERIOUS...
Serious Work How to Facilitate Meetings and Workshops Using the LEGO® SERIOUS...Serious Work How to Facilitate Meetings and Workshops Using the LEGO® SERIOUS...
Serious Work How to Facilitate Meetings and Workshops Using the LEGO® SERIOUS...Marko Rillo
 
Managing for Happiness
Managing for HappinessManaging for Happiness
Managing for HappinessJurgen Appelo
 
UX maturity - how do you develop the UX practice in your organisation
UX maturity - how do you develop the UX practice in your organisationUX maturity - how do you develop the UX practice in your organisation
UX maturity - how do you develop the UX practice in your organisationMargaret Hanley
 
Design Fiction as World Building
Design Fiction as World BuildingDesign Fiction as World Building
Design Fiction as World BuildingPaul Coulton
 
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)Takashi Yoshinaga
 
MRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみたMRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみたTakashi Yoshinaga
 
楽しくて病みつきになるゲームジャムのススメ
楽しくて病みつきになるゲームジャムのススメ楽しくて病みつきになるゲームジャムのススメ
楽しくて病みつきになるゲームジャムのススメHiroki Omae
 

What's hot (20)

LEGO® Serious Play® — For Managers
LEGO® Serious Play® — For ManagersLEGO® Serious Play® — For Managers
LEGO® Serious Play® — For Managers
 
Lego® Serious Play® in a Nutshell - by StrategicPlay®
Lego® Serious Play® in a Nutshell - by StrategicPlay®Lego® Serious Play® in a Nutshell - by StrategicPlay®
Lego® Serious Play® in a Nutshell - by StrategicPlay®
 
LEGO SERIOUS PLAY: Imagination & Creativity for the Business
LEGO SERIOUS PLAY: Imagination & Creativity for the BusinessLEGO SERIOUS PLAY: Imagination & Creativity for the Business
LEGO SERIOUS PLAY: Imagination & Creativity for the Business
 
Using LEGO Serious Play to boost collective creativity & increase trust
Using LEGO Serious Play to boost collective creativity & increase trustUsing LEGO Serious Play to boost collective creativity & increase trust
Using LEGO Serious Play to boost collective creativity & increase trust
 
LEGO SERIOUS PLAY Open Source Guide Issued by LEGO Group
LEGO SERIOUS PLAY Open Source Guide Issued by LEGO GroupLEGO SERIOUS PLAY Open Source Guide Issued by LEGO Group
LEGO SERIOUS PLAY Open Source Guide Issued by LEGO Group
 
LEGO® Serious Play®. How To Solve Your Business Challenges Playfully
LEGO® Serious Play®. How To Solve Your Business Challenges PlayfullyLEGO® Serious Play®. How To Solve Your Business Challenges Playfully
LEGO® Serious Play®. How To Solve Your Business Challenges Playfully
 
Lego Serious Play & Business Model Canvas
Lego Serious Play & Business Model CanvasLego Serious Play & Business Model Canvas
Lego Serious Play & Business Model Canvas
 
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
 
Vortrag Das Agile Mindset borisglogerconsulting - Agilen-Konferenz – Frankfur...
Vortrag Das Agile Mindset borisglogerconsulting - Agilen-Konferenz – Frankfur...Vortrag Das Agile Mindset borisglogerconsulting - Agilen-Konferenz – Frankfur...
Vortrag Das Agile Mindset borisglogerconsulting - Agilen-Konferenz – Frankfur...
 
Unityで意外と簡単・・・だけど難しいVRコンテンツ
Unityで意外と簡単・・・だけど難しいVRコンテンツUnityで意外と簡単・・・だけど難しいVRコンテンツ
Unityで意外と簡単・・・だけど難しいVRコンテンツ
 
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
 
Agile is not a mindset: Wie being agile wirklich gelingt
Agile is not a mindset: Wie being agile wirklich gelingtAgile is not a mindset: Wie being agile wirklich gelingt
Agile is not a mindset: Wie being agile wirklich gelingt
 
Serious Work How to Facilitate Meetings and Workshops Using the LEGO® SERIOUS...
Serious Work How to Facilitate Meetings and Workshops Using the LEGO® SERIOUS...Serious Work How to Facilitate Meetings and Workshops Using the LEGO® SERIOUS...
Serious Work How to Facilitate Meetings and Workshops Using the LEGO® SERIOUS...
 
Managing for Happiness
Managing for HappinessManaging for Happiness
Managing for Happiness
 
UX maturity - how do you develop the UX practice in your organisation
UX maturity - how do you develop the UX practice in your organisationUX maturity - how do you develop the UX practice in your organisation
UX maturity - how do you develop the UX practice in your organisation
 
Design Fiction as World Building
Design Fiction as World BuildingDesign Fiction as World Building
Design Fiction as World Building
 
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
 
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
 
MRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみたMRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみた
 
楽しくて病みつきになるゲームジャムのススメ
楽しくて病みつきになるゲームジャムのススメ楽しくて病みつきになるゲームジャムのススメ
楽しくて病みつきになるゲームジャムのススメ
 

Similar to HoloLens Programming Tutorial: AirTap & Spatial Mapping

School For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine BasicsSchool For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine BasicsNick Pruehs
 
Using prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile servicesUsing prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile servicesDavid Voyles
 
Game Project / Working with Unity
Game Project / Working with UnityGame Project / Working with Unity
Game Project / Working with UnityPetri Lankoski
 
Academy PRO: Unity 3D. Environment
Academy PRO: Unity 3D. EnvironmentAcademy PRO: Unity 3D. Environment
Academy PRO: Unity 3D. EnvironmentBinary Studio
 
Gui builder
Gui builderGui builder
Gui builderlearnt
 
Unity - Create a structure with primitives
Unity - Create a structure with primitivesUnity - Create a structure with primitives
Unity - Create a structure with primitivesNexusEdgesupport
 
Programming Without Coding Technology (PWCT) Getting Started - Create your f...
Programming Without Coding Technology (PWCT)  Getting Started - Create your f...Programming Without Coding Technology (PWCT)  Getting Started - Create your f...
Programming Without Coding Technology (PWCT) Getting Started - Create your f...Mahmoud Samir Fayed
 
Infinum Android Talks #15 - Garfield Android Studio Plugin - Be Smart, Be Lazy
Infinum Android Talks #15 - Garfield Android Studio Plugin - Be Smart, Be LazyInfinum Android Talks #15 - Garfield Android Studio Plugin - Be Smart, Be Lazy
Infinum Android Talks #15 - Garfield Android Studio Plugin - Be Smart, Be LazyInfinum
 
Keynote + Next Gen UIs.pptx
Keynote + Next Gen UIs.pptxKeynote + Next Gen UIs.pptx
Keynote + Next Gen UIs.pptxEqraKhattak
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentanistar sung
 
React Native custom components
React Native custom componentsReact Native custom components
React Native custom componentsJeremy Grancher
 
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろうUnity Technologies Japan K.K.
 
Unity 2018からのハイパフォーマンスな機能紹介
Unity 2018からのハイパフォーマンスな機能紹介Unity 2018からのハイパフォーマンスな機能紹介
Unity 2018からのハイパフォーマンスな機能紹介dena_genom
 
Fps tutorial 1
Fps tutorial 1Fps tutorial 1
Fps tutorial 1unityshare
 

Similar to HoloLens Programming Tutorial: AirTap & Spatial Mapping (20)

Unity3 d devfest-2014
Unity3 d devfest-2014Unity3 d devfest-2014
Unity3 d devfest-2014
 
School For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine BasicsSchool For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine Basics
 
2048 on swift
2048 on swift2048 on swift
2048 on swift
 
Using prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile servicesUsing prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile services
 
Introduction to Unity
Introduction to UnityIntroduction to Unity
Introduction to Unity
 
Game Project / Working with Unity
Game Project / Working with UnityGame Project / Working with Unity
Game Project / Working with Unity
 
Academy PRO: Unity 3D. Environment
Academy PRO: Unity 3D. EnvironmentAcademy PRO: Unity 3D. Environment
Academy PRO: Unity 3D. Environment
 
Gui builder
Gui builderGui builder
Gui builder
 
Unity - Create a structure with primitives
Unity - Create a structure with primitivesUnity - Create a structure with primitives
Unity - Create a structure with primitives
 
Programming Without Coding Technology (PWCT) Getting Started - Create your f...
Programming Without Coding Technology (PWCT)  Getting Started - Create your f...Programming Without Coding Technology (PWCT)  Getting Started - Create your f...
Programming Without Coding Technology (PWCT) Getting Started - Create your f...
 
Infinum Android Talks #15 - Garfield Android Studio Plugin - Be Smart, Be Lazy
Infinum Android Talks #15 - Garfield Android Studio Plugin - Be Smart, Be LazyInfinum Android Talks #15 - Garfield Android Studio Plugin - Be Smart, Be Lazy
Infinum Android Talks #15 - Garfield Android Studio Plugin - Be Smart, Be Lazy
 
Keynote + Next Gen UIs.pptx
Keynote + Next Gen UIs.pptxKeynote + Next Gen UIs.pptx
Keynote + Next Gen UIs.pptx
 
Soc research
Soc researchSoc research
Soc research
 
Input and Interaction
Input and InteractionInput and Interaction
Input and Interaction
 
Unity workshop
Unity workshopUnity workshop
Unity workshop
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app development
 
React Native custom components
React Native custom componentsReact Native custom components
React Native custom components
 
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
 
Unity 2018からのハイパフォーマンスな機能紹介
Unity 2018からのハイパフォーマンスな機能紹介Unity 2018からのハイパフォーマンスな機能紹介
Unity 2018からのハイパフォーマンスな機能紹介
 
Fps tutorial 1
Fps tutorial 1Fps tutorial 1
Fps tutorial 1
 

More from Takashi Yoshinaga

HoloLens2とMeta QuestではじめるWebXR
HoloLens2とMeta QuestではじめるWebXRHoloLens2とMeta QuestではじめるWebXR
HoloLens2とMeta QuestではじめるWebXRTakashi Yoshinaga
 
【準備編】OculusQuest/HoloLens2対応WebXR開発
【準備編】OculusQuest/HoloLens2対応WebXR開発【準備編】OculusQuest/HoloLens2対応WebXR開発
【準備編】OculusQuest/HoloLens2対応WebXR開発Takashi Yoshinaga
 
ARコンテンツ作成勉強会( #AR_Fukuoka )紹介
ARコンテンツ作成勉強会( #AR_Fukuoka )紹介ARコンテンツ作成勉強会( #AR_Fukuoka )紹介
ARコンテンツ作成勉強会( #AR_Fukuoka )紹介Takashi Yoshinaga
 
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
AI x WebAR: MediaPipeのハンドトラッキングを使ってみようAI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
AI x WebAR: MediaPipeのハンドトラッキングを使ってみようTakashi Yoshinaga
 
iPad LiDARで エンジニアカフェを3Dスキャン
iPad LiDARでエンジニアカフェを3DスキャンiPad LiDARでエンジニアカフェを3Dスキャン
iPad LiDARで エンジニアカフェを3DスキャンTakashi Yoshinaga
 
AI x OpenCV x WebAR: Selfie Segmentationを使ってみよう
AI x OpenCV x WebAR: Selfie Segmentationを使ってみようAI x OpenCV x WebAR: Selfie Segmentationを使ってみよう
AI x OpenCV x WebAR: Selfie Segmentationを使ってみようTakashi Yoshinaga
 
Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発Takashi Yoshinaga
 
【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン
【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン
【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオンTakashi Yoshinaga
 
Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現
Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現
Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現Takashi Yoshinaga
 
FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介
FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介
FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介Takashi Yoshinaga
 
Voxon Photonics VX1 で遊んでみた
Voxon Photonics VX1で遊んでみたVoxon Photonics VX1で遊んでみた
Voxon Photonics VX1 で遊んでみたTakashi Yoshinaga
 
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!Takashi Yoshinaga
 
コロナ禍中のコミュニティ活動
コロナ禍中のコミュニティ活動コロナ禍中のコミュニティ活動
コロナ禍中のコミュニティ活動Takashi Yoshinaga
 
iPad LiDARで作ってみた in AR Fukuoka 忘年会2020
iPad LiDARで作ってみた in AR Fukuoka 忘年会2020iPad LiDARで作ってみた in AR Fukuoka 忘年会2020
iPad LiDARで作ってみた in AR Fukuoka 忘年会2020Takashi Yoshinaga
 
OSC2020 Fukuoka: インストールいらず、WebAR入門
OSC2020 Fukuoka: インストールいらず、WebAR入門OSC2020 Fukuoka: インストールいらず、WebAR入門
OSC2020 Fukuoka: インストールいらず、WebAR入門Takashi Yoshinaga
 
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVROculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVRTakashi Yoshinaga
 

More from Takashi Yoshinaga (20)

HoloLens2とMeta QuestではじめるWebXR
HoloLens2とMeta QuestではじめるWebXRHoloLens2とMeta QuestではじめるWebXR
HoloLens2とMeta QuestではじめるWebXR
 
【準備編】OculusQuest/HoloLens2対応WebXR開発
【準備編】OculusQuest/HoloLens2対応WebXR開発【準備編】OculusQuest/HoloLens2対応WebXR開発
【準備編】OculusQuest/HoloLens2対応WebXR開発
 
ARコンテンツ作成勉強会( #AR_Fukuoka )紹介
ARコンテンツ作成勉強会( #AR_Fukuoka )紹介ARコンテンツ作成勉強会( #AR_Fukuoka )紹介
ARコンテンツ作成勉強会( #AR_Fukuoka )紹介
 
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
AI x WebAR: MediaPipeのハンドトラッキングを使ってみようAI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
AI x WebAR: MediaPipeのハンドトラッキングを使ってみよう
 
iPad LiDARで エンジニアカフェを3Dスキャン
iPad LiDARでエンジニアカフェを3DスキャンiPad LiDARでエンジニアカフェを3Dスキャン
iPad LiDARで エンジニアカフェを3Dスキャン
 
AI x OpenCV x WebAR: Selfie Segmentationを使ってみよう
AI x OpenCV x WebAR: Selfie Segmentationを使ってみようAI x OpenCV x WebAR: Selfie Segmentationを使ってみよう
AI x OpenCV x WebAR: Selfie Segmentationを使ってみよう
 
Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発Web技術ではじめようAR/VRアプリ開発
Web技術ではじめようAR/VRアプリ開発
 
Nreal Lightハンズオン
Nreal LightハンズオンNreal Lightハンズオン
Nreal Lightハンズオン
 
【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン
【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン
【準備編!】HoloLens 2/Oculus Quest対応WebXRハンズオン
 
Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現
Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現
Holo-SDKハンズオン:はじめようヘッドトラッキングを用いた3D表現
 
FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介
FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介
FUKUOKA Engineers Day 2021 発表資料:AR Fukuoka & HoloBox紹介
 
Voxon Photonics VX1 で遊んでみた
Voxon Photonics VX1で遊んでみたVoxon Photonics VX1で遊んでみた
Voxon Photonics VX1 で遊んでみた
 
AR-Frame x AR.js入門
AR-Frame x AR.js入門AR-Frame x AR.js入門
AR-Frame x AR.js入門
 
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
 
コロナ禍中のコミュニティ活動
コロナ禍中のコミュニティ活動コロナ禍中のコミュニティ活動
コロナ禍中のコミュニティ活動
 
Project HoloBox
Project HoloBoxProject HoloBox
Project HoloBox
 
AR Fukuoka紹介2020
AR Fukuoka紹介2020AR Fukuoka紹介2020
AR Fukuoka紹介2020
 
iPad LiDARで作ってみた in AR Fukuoka 忘年会2020
iPad LiDARで作ってみた in AR Fukuoka 忘年会2020iPad LiDARで作ってみた in AR Fukuoka 忘年会2020
iPad LiDARで作ってみた in AR Fukuoka 忘年会2020
 
OSC2020 Fukuoka: インストールいらず、WebAR入門
OSC2020 Fukuoka: インストールいらず、WebAR入門OSC2020 Fukuoka: インストールいらず、WebAR入門
OSC2020 Fukuoka: インストールいらず、WebAR入門
 
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVROculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
Oculus Quest 1&2 開発のはじめの一歩 with A-Frame WebVR
 

Recently uploaded

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

HoloLens Programming Tutorial: AirTap & Spatial Mapping

  • 1. AirTap & Spatial Mapping HoloLens Programming Tutorial:
  • 2. Development Tools Development environment:Unity  Game engine and development environment for multi-platform  You can visually place CGs and add functions by using GUI  Interactive behavior can be described in C# or javascript  HoloLens is supported from Unity 5.5 Development support tool::HoloToolkit  Toolkit to support the development of HoloLens compatible systems  You can use AirTap and cursor behavior, spatial mapping easily  Various sample programs are provided  Also provides functions such as moving viewpoint on Unity editor It is possible to develop without HoloLens or emulator 2
  • 3. Goal of this tutorial YouTube → https://youtu.be/_BmbL4yw8R0 3
  • 4. First of all, the basic operation of Unity 4
  • 5. Create a project (1) Extract HoloToolkit-Unity-master.zip to any directory (2) After starting Unity, click OPEN at the upper right of the screen OPEN 5
  • 6. Create a project Open HoloToolkit-Unity-masterfolder and click [folder selection] HoloToolkit-Unity-master Select folder HoloToolkit-Unity-master 6
  • 7. Unity operation screen (overview) Game space design area Name list of objects placed in space List of Asset (CG, program, etc.) added to the project 7
  • 8. Let's add CG to the game space Right click 3D Object→Cube 8
  • 9. Let's run Click and run Click to Exit Space seen from a camera 9
  • 10. Adjust the position, orientation and size of the object Click and select move rotate zoom in / out 10
  • 11. Let's change the perspective of Scene [←][→] -Move left and right [↑] [↓] -Zoom in/out [Alt] + drag -Rotation Other thingshttp://goo.gl/Lq1ILT → http://goo.gl/Lq1ILT 11
  • 12. Designation of CG position/ size using numerical values Click Change Position to 0 0 1.2 Change all scale to 0.15 ※ The unit of position and size is meter Inspector(≒Detailed Information 12
  • 13. Editing CG detailed information :color setting (1/3) ②Right click ③ Create Make detailed material to set colour and texture ④ Material ①Assets 13
  • 14. Editing CG detailed information: color setting (2/3) Edit colour (Albedo) of the created material (2) Click on the white area next to Albedo and select a color (1) Select created material 14
  • 15. Editing CG detailed information: colour setting (3/3) Open the material of the Cube to assign the created material (2) Top of Materials▼ (1)Cube (3) Drag and drop to Element 0 review 15
  • 16. Check It is OK if the colour is reflected. You can change the colour later. 16
  • 17. Setting the influence of gravity Add Component 選択 RigidBody 17
  • 18. Operation check and fine adjustment Let's run it When Cube looks smaller, change Position of MainCame to 0, 0, 0 18
  • 19. Creation of ground Click right 3D Object→Plane 19
  • 20. Adjust the ground position Plane Change Position to 0 -0.8 0 20
  • 21. Save Scene Scene Name  Open the dialog with [Ctrl] + [s] and save with your favourite name  Frequently save during content creation 21
  • 24. Adding HoloLens Camera (1) Assets → HoloToolkit → Input → Prefabs (2)Drag & Drop HoloLens Camera 24
  • 25. Check Light & Left by[←] [→] Forward & Backword by[↑] [↓] Up & down by[Q] [E] Rotation by right click + mouse move 25
  • 26. Supplement: Adjust movement / rotation sensitivity (1) Select operation content KeyboardXZTranslation (2) Sensitivity Scale to 2 (3) Axis Type to Keyboard Arrows Amount of movement when pushing keys :↑↓← → , will become less than the default 26
  • 27. Spatial recognition using SpatialMapping Remove Plane 27
  • 28. Spatial recognition using SpatialMapping Assets → HoloToolkit → SpatialMapping → Prefabs Drag & drop SpatialMapping 28
  • 29. Operation Space is recognized by actual HoloLens, but not by PC 29
  • 30. Importing a space model (official sample) ② Assets → HoloToolkit → SpatialMapping → Tests → Meshes ③ Drag & drop SRMesh into Room Model ① Spatial Mapping 30
  • 31. Importing a space model (official sample) (1)Run The model of the room is displayed More simplified one provided instead of more complexed one 31
  • 32. A room for use 32
  • 33. Import of space model (for study group) Assets → Import New Asset → isit.obj Import spatial model (isit.obj) prepared as sample 33
  • 34. Import of space model (2)SpatialMapping (3) Drag & drop into Room Model (1)Assets 34
  • 35. Change appearance of mesh Click button next to Surface Material SpatialMappingWireframe Before After 35
  • 36. Create and drop Cube at the same time as AirTap What to do next 36
  • 37. Add function to manage input operations such as AirTap (1)HoloToolkit → Input → Prefabs (2)Drag & drop Input Manager 37
  • 38. Check motion Run (1) Press [Shift] to use hand (2) Left-click emulates AirTap 38
  • 39. Create a script to receive AirTap Right click on blank of herarchy Create Empty Create an empty object to attach script 39
  • 40. Create a script to receive AirTap (1)GameObject (2)Add Component 40
  • 41. Create a script to receive AirTap New Script Scriot name e.g.RcvAirTap Create and Add Added 41
  • 42. Open script file by VisualStudio Assets Double click on script (RcvAirTap) 42
  • 43. Writing a script using HoloToolkit.Unity.InputModule; public class RcvAirTap : MonoBehaviour { // Start function is executed only once for initialization void Start () {"R obot Kyle"); } // Update function is executed every frame void Update () { } } First, load InputModule and implement IInputClickHandler , IInputClickHandler 43
  • 44. Writing a script public class RcvAirTap : MonoBehaviour , IInputClickHandler { // Start function is executed only once for initialization void Start () { } // Update function to be executed every frame void Update () { } } •Move the cursor to llnputClickHandler, Select lmplement interface from hint 44
  • 45. Check the status quo using HoloToolkit.Unity.InputModule; public class RcvAirTap : MonoBehaviour , IInputClickHandler { //Called up function when AirTapped public void OnInputClicked(InputEventData eventData) { throw new NotImplementedException(); } void Start () { } void Update () { } } throw new NotImplementedException(); Delete this line as unnecessary 45
  • 46. What to do next InputManager knows AirTap is done or not Previous script is written here Notify GameObject when InputManager recognizes AirTap 46
  • 47. Receive AirTap public class RcvAirTap : MonoBehaviour , IInputClickHandler { //Called up function when AirTapped public void OnInputClicked(InputEventData eventData) { Debug.Log("AirTap!"); } void Start () { InputManager.Instance. PushFallbackInputHandler(gameObject); } void Update () { } } Register so that AirTap will be notified to gameObject with this script attached 47
  • 48. Check motion Run AirTap! To be displayed Console tab 48
  • 49. Prefabrication of Edited Cube (1) Assets (2) Drag & drop Cube 49
  • 50. What to do next Cube prefab Create a Cube (Prefab) in space for each AirTap 50
  • 51. Generation of cube using script public class RcvAirTap : MonoBehaviour , IInputClickHandler { //Variables to handle Cube prefab public GameObject original; public void OnInputClicked(InputEventData eventData) { // Instantiate cube using Cube prefab GameObject cube = GameObject.Instantiate(original); //Convert the position 1.2 m ahead from your //viewpoint into the position in real space cube.transform.position = Camera.main.transform.TransformPoint(0, 0, 1.2f); Debug.Log("AirTap!"); } /*Omitted below*/ 51
  • 52. Assign Cube Prefab with variable of script (1) Assets (2) GameObject Associate variable(=original) of script with Cube Prefab Drag & drop Cub into Original 52
  • 53. Check Run Generate cubes as many times as AirTapped 53
  • 54. Limit the number of cubes //container holding several cubes List<GameObject> list = new List<GameObject>(); public void OnInputClicked(InputEventData eventData) { GameObject cube = GameObject.Instantiate(original); cube.transform.position = Camera.main.transform.TransformPoint(0, 0, 1.2f); if (list.Count == 10) { Destroy(list[0]); //Delete the oldest cubes from space list[0] = null; list.RemoveAt(0); // Remove element in list 0 } list.Add(cube); } 54
  • 55. Let's run on HoloLens: Confirm Quality Edit Project Settings Quality Fastest 55
  • 56. Run on HoloLens: Build Setting (1)Edit (2)Project Settings (3)Player (4)Name ProductName for yours (5)Windows Store App 56
  • 57. Run on HoloLens: Build Setting Name Short namefor yours icon Other Settings Virtual Reality Supported Publishing Settings Name Package Namefor yours 57
  • 58. Run on HoloLens: Build Setting File Build Settings 58
  • 59. Run on HoloLens: Build Add OpenScenes Windows Store Switch Platform ・ SDK Universal 10 ・ Target device HoloLens ・ UWP Build Type D3D Finally Build 59
  • 60. Run on HoloLens: Create a folder for Build Name App New folder Select folder 60
  • 62. Run on a real machine: Deploy to HoloLens x86 Click ▼ Remote (In case of Wifiapplication) 62
  • 63. Run on a real machine: Deploy to HoloLens In put HoloLens IP Click Select 63
  • 64. Run on a real machine: Deploy to HoloLens Debug Start Without Debugging 64
  • 66. Hide the mesh Spatial Mapping Smatial Mapping Manager Click 〇 Select Spatial Mapping Occlusion for material 66
  • 67. Increase the display range HoloLens Camera Change Nearto 0.3 Decreasing the value of the camera's Near, will work out even in case of approaching to some extent 67
  • 68. Import images pasted on Cube [Assets]→ [Import New Asset] → Select the image you brought up 68
  • 69. Material setting change Click on the material (New Material) assigned to Cube 69
  • 70. Material setting change (1) Shader (2) Unlit (3) Texture 70
  • 71. Paste texture Drag and drop images 71
  • 73. Any questions? Please Contact Me! Name: Takashi Yoshinaga Affiliation: Institute of Systems, Information Technologies and Nanotechnologies Title: (1) Researcher (2) Microsoft MVP for Windows Development taka.yoshinaga @tks_yoshinaga YoshinagaTakashi
  • 74. 74 I’m also waiting for your suggestions on English expressions :)