其他分享
首页 > 其他分享> > HoloLens 101

HoloLens 101

作者:互联网

原文链接:http://www.cnblogs.com/slove/p/8658397.html

这个随便包括: gaze,gestures,voice input,spatial sound 和 spatial mapping

准备:去看一下HoloLens开发入门。必须的软件。开发设置等等。

下载工程:地址: https://docs.microsoft.com/zh-cn/windows/mixed-reality/using-visual-studio#enabling-developer-mode.

"Holo" world

1.解压下载下来的文件,找到Origami,我把文件夹Copy到了D盘中

2.启动Unity, 选择Open, 找到Origami文件夹。加载完毕后创建新的场景,命名Origami。

3.在层级面板(Hierarchy Panel),选中Main Camera,设置位置 0,0,0。找到Clear Flags 设置为Solid Color.

4.设置Background   R,G,B,A 都为0.

5.创建新的空物体,重命名为OrigamiCollection。

6.在Holograms文件夹下,找到Stage,Sphere1,Sphere2 都放到OrigamiCollection下面。作为它的孩子。

7.删除原来的Directional Light。 添加Holograms中的Lights到Hierarchy Panel中。

8.设置OrigamiCollection的位置 0,-0.5,2.0。点击Play按钮预览一下。

9.导出工程到VS中,如果不明白,请参照上一节。

Gaze 事例。

1.接着"Holo" world 工程。

2.在Holograms文件夹中找到 Cursor预制物,拖拽到Hierarchy Panel中为根目录一级。

3. 在Project面板中右键,选择C# Script. 命名为WorldCursor.不需要添加文件后缀。

4.在 Hierarchy panel中选择Cursor, 拖拽WorldCursor脚本到 Inspector panel。

5.双击脚本,进行代码编辑如下:

public class WorldCursor : MonoBehaviour

{

private MeshRenderer meshRenderer;

 void Start()

{

 meshRenderer = this.gameObject.GetComponentInChildren<MeshRenderer>(); //获得当前对象显示的Mesh

}

void Update()

{

 var headPosition = Camera.main.transform.position; //当前相机的位置

var gazeDirection = Camera.main.transform.forward;//当前相机的正方向

RaycastHit hitInfo;

if (Physics.Raycast(headPosition, gazeDirection, out hitInfo)) //从相机当前位置,沿着相机的正方向(forward)发射摄线,射线是否hit到物体。

{ //如果hit到物体

 meshRenderer.enabled = true; //设置Cursor可见

this.transform.position = hitInfo.point;  //设置Cursor的位置

this.transform.rotation = Quaternion.FromToRotation(Vector3.up, hitInfo.normal); //设置Cursor的Rotation

}

else

{

meshRenderer.enabled = false; //设置Cursor不可见。

}

}

}

6.导出到VS中,在模拟器或者HoloLens中运行。

转载于:https://www.cnblogs.com/slove/p/8658397.html

标签:hitInfo,meshRenderer,HoloLens,transform,Cursor,Hierarchy,设置,101
来源: https://blog.csdn.net/weixin_30881367/article/details/97737344