浅析Hololens HoloToolkit中Utilities下通用脚本的用法
来源:互联网 发布:淘宝立体服装拍摄姿势 编辑:程序博客网 时间:2024/06/08 02:42
1:Billboard.cs 可以让一个全息物体总是面对着摄像头。
(该脚本配合Tagalong.cs可以实现Hololens主菜单效果,即平滑追踪+始终面对功能)
参数:
PivotAxis:旋转中心轴。参数:free(default):物体每个轴都可以自由旋转;Y:物体只绕着Y轴旋转(即左右转头物体会面向你,上下转头 物体不会面向你)。
2:DirectionIndicator.cs 方向指示脚本,让一个方向指示器始终指向该脚本上的对象。
参数:
Cursor:该物体在场景中被当作光标,方向指示器会显示在这个物体旁边。
DirectionIndicatorObject:方向指示器物体,该物体会一直指向附加该脚本的对象。对象可以是2D或者3D。
DirectionIndicatorColor:方向指示器的颜色(方向指示器材质里的Shader必须要有“_TintColor”属性,否则颜色不会变)
VisibilitySafeFactor: 范围[-0.3,0.3] ,当物体在摄像机视锥的某个百分比范围中,方向指示器才会显示。(例如此值为0时,当物体完全离开 摄像机视锥之后方向指示器才会显示;此值为0.1时,物体在视锥范围的90%之外,方向指示器才会显示;此值为-0.1时,物体在视锥范围的110% 之 ,方向指示器才会显示)
MetersFromCursor:方向指示器从原中心到它面向方向(forward)的一个偏移值。
3:FixedAngularSize.cs 让一个物体在摄像机里的大小始终不变。
(该脚本无视物体和摄像机之间的距离,只要在摄像机视锥范围中,它的大小比例始终相同)
参数:
SizeRatio:比例值,该值为0时,此脚本不起作用。增大该值后,物体在摄像机内的比例会增大,推荐值0.1左右。
4:FpsDisplay.cs 辅助显示当前场景的FPS值。
(推荐直接使用Prefabs文件夹下的FPSDisplay,里边已经集成好相应的字体和显示方式)
参数:
Frame Range:计算FPS值的平均帧数,不可小于1。(例如此值为10时,会统计10帧的FPS值,然后显示10帧的平均数)
5:HeadsUpDirectionIndicator.cs在摄像机里显示一个指针,该指针会始终指向某个物体。
(该脚本功能和DirectionIndicator.cs相近。推荐直接使用Prefabs文件夹下的HeadsUpDirectionIndicator预制体,指针模型均已集成好)
参数:
TargetObject:指针指向的物体对象。
Depth:指针物体的深度值,该值越大,指针越小。
Pivot:对象位置中心点的偏移位置,推荐设置为(0,0.5,0)。
PointerPrefab:指针物体。
IndicatorMarginPercent:目标物体在视距内的某个百分比时,指针会自动到达中心。
DebugDrawPointerOrientationPlanes:在Scene面板绘制指针到目标物体间的某些线?
6:InterPolationUtilities.cs 存储了一些和插值相关的静态方法。
7:Interpolator.cs 对物体的Position、Transfrom和Scale进行插值。
8:NearPlaneFade.cs 让物体根据它和摄像机的相对位置渐隐或者渐显。
9:PriorityQueue.cs 辅助类,貌似低优先级的对象将会首先在队列中删除。(待研究~~)
10:SimpleTagalong.cs 让一个物体始终和摄像机保持固定的距离。
(该脚本无视物体和摄像机之间的距离,只要在摄像机视锥范围中,它的大小比例始终相同)
参数:
TagalongDistance:物体和摄像机之间的固定距离。
EnforceDistance:让物体始终跟随相机,即时物体不必再进行移动。
PositionUpdateSpeed:物体更新速率(以 米/秒为单位)。
SmoothMotion:物体是否平滑移动。
SmoothingFactor:平滑因子,仅当SmoothMotion为true时有效。
11:Singleton.cs 单例基类,遵循单例设计原则,每个继承它的脚本应当只有一个实例(Instance)。
12:SphereBasedTagalong.cs 让一个物体始终和摄像机保持固定的距离,该物体处于一个球体半径范围内。
(该脚本是性能最好的跟随脚本,占用资源最少)
参数:
SphereRadius:球体半径。
MoveSpeed:物体跟随摄像机的速度。
DebugDisplaySphere:在Scene面板显示球体的线框。
DebugDisplayTargetPosition:在Scene面板显示目标位置。
13:Tagalong.cs 让一个物体在摄像机里的大小始终不变。
(该脚本无视物体和摄像机之间的距离,只要在摄像机视锥范围中,它的大小比例始终相同)
参数:
SizeRatio:比例值,该值为0时,此脚本不起作用。增大该值后,物体在摄像机内的比例会增大,推荐值0.1左右。
14:TextToSpeechManager.cs 文字语音播放管理类
(该脚本利用带Win10里的语音库Media.SpeechSynthesis,可以将文本或者SSML协议文档的内容转换成语音输出,目前Hololens只支持其语音库下的MSTTS_V110_enUS_MarkM、MSTTS_V110_enUS_ZiraFM和MSTTS_V110_enUS_DavidM三种英文库,中文库目前无法导入。)
参数:
audioSource:语音播放控件,此处必须要添加已有的Audio Source控件,否则无法播放。
voice:语音选项,可选默认、David、Zira以及Mark这几种类型。
用法:
创建一个新物体,在上边添加Audio Source组件以及TextToSpeechManager.cs脚本,将Audio Source组件拖到TextToSpeechManager.cs里的audioSource上,voice随 意选择即可。之后再新物体上新添加一个声音控制脚本,如下以SpeechTest.cs为例:
15:Timer.cs和TimerScheduler.cs 定时器
(定义时间分配,有点类似Unity里的Invoke方法)
用法:
此类用起来很简单,如下所示:
16:WorldAnchorManager.cs 空间锚管理类。
用法:
1:创建一个空物体,命名为Manager,将WorldAnchorManager.cs附加到此物体上。
2:当要给一个物体创建空间锚点时,调用anchorManager.AttachAnchor(this.gameObject, SavedAnchorName)方法,其中SavedAnchorName是识别空间锚物体对象的唯 一Name,不可重复。
3:删除空间锚点时,调用 anchorManager.RemoveAnchor(gameObject)方法即可
4:如果要给一个物体添加锚点时,它上边已存在创建过的锚点,需要先删除原来的,再添加,否则创建不会成功。
- 浅析Hololens HoloToolkit中Utilities下通用脚本的用法
- 浅析Hololens HoloToolkit中Utilities下通用脚本的用法
- Hololens中使用holotoolkit自带的按钮
- Hololens入门之Sharing(HoloToolkit中SharingService.exe及SharingClient.dll的编译)
- hololens官方教程HoloToolKit中部分代码的理解
- Hololens开发之HoloToolkit+空间感知组件
- HoloLens之HoloToolkit空间映射(一)
- 通用工具Utilities(一):STL中auto_ptr的实现以及auto_ptr_ref的理解
- Hololens官方教程之HoloToolKit部分代码解释
- *lds ----linux下的通用链接脚本
- *lds ----linux下的通用链接脚本
- linux下的通用日志备份脚本
- $ORACLE_HOME/bin下的utilities解释
- Shell脚本中$的用法
- shell脚本中${}的用法
- Hololens开发中遇到的诡异问题
- 不错的linux下通用的java程序启动脚本
- 不错的linux下通用的java程序启动脚本
- Android NDK 编译PjSip 2.6 之 环境准备 (一)
- WPF 自定义DateTimePicker控件,实现时间设置与选择
- oracle用户被锁定the account is locked的解决办法
- 记录一些常见的Linux命令
- ajax页面动态判断
- 浅析Hololens HoloToolkit中Utilities下通用脚本的用法
- openfire批量推送
- io流常见实例记录
- HTML 2017.07.19
- MainActivity.java9
- 基于XMPP协议(openfire服务器)的消息推送实现
- 函数定义使用说明递归参数函数指针,李白打酒,程序例子
- Connect the Cities 【最小生成树】
- python 连接数据库