本文主要是介绍VRTK☀️四、瞬移,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
🟥 基础配置
🟧 瞬移的几种方式
1️⃣ 全图基于Collider的基础瞬移
2️⃣ 自适应高度瞬移
3️⃣ 向前快速移动的传送
4️⃣ 贝瑟尔曲线瞬移
🟨 瞬移区域设置
1️⃣ 方法1:瞬移规则限制
3️⃣ 点传送
🚩 直接效果
🚩 拓展效果
🟥 基础配置
基础配置地址
🟧 瞬移的几种方式
1️⃣ 全图基于Collider的基础瞬移
该效果能通过射线,瞬移到任何有Collider的物体上。但会穿过有Collider的箱子。即虽然传送到Collider那了,但自身高度未调整。
a、地面添加Collider
b、PlayArea物体上瞬移组件介绍
BlinkTransitionSpeed:瞬移时闪屏的效果时长
DistanceBlinkDelay:闪屏的延时
TargetListPolicy:相应瞬移的机制
使用NavMesh控制瞬移的数值
2️⃣ 自适应高度瞬移
该效果能通过射线,瞬移到任何有Collider的物体上。不会穿过有Collider的箱子。会站到箱子上面。
a、地面添加Collider
b、PlayArea物体上取消基础瞬移组件,添加 VRTK_HeightAdjustTeleport
属性大部分跟基础传送相同。
LayersToIgnore:这些层不参与自适应高度传送。还是会传送,会穿过。
3️⃣ 向前快速移动的传送
取消 PlayArea 上的基础传送,添加 VRTK_DashTeleport,该脚本自带自适应高度
4️⃣ 贝瑟尔曲线瞬移
1、将手上的直线的 VRTK_StraightPointerRenderer 删除掉
2、添加 VRTK_BezierPointerRenderer,指定给 VRTK_Pointer 属性 PointerRenderer
3、解决指针末端穿过不规则表面
勾选 VRTK_BezierPointerRenderer 属性 CuserMatchTargetRotation
🟨 瞬移区域设置
1️⃣ 方法1:瞬移规则限制
PlayArea物体 添加 VRTK_PolicyList ,赋值给TargetListPolicy
TargetListPolicy:传送目标规则
VRTK_PolicyList :传送忽略/包含下面x个为?tag的物体。
2️⃣ NavMesh瞬移
该规则和上面1规则可同时进行。即使用自动导航传送。
NavMeshLimitDistance:NavMesh内部区域(内部留白不能导航的区域)向内0.5m也能传送。
要使用该规则,上属性不可设为0!(因为当为0时,代表着系统会忽略NavMesh的因素,不使用该规则)
a、Windows——AI——Navigation——Object:设置哪些物体可进行自动寻路,那些物体是障碍物。
b、Bake——Bake
3️⃣ 点传送
🚩 直接效果
预制件 DestinationPoint 拖到场景,直接直接能穿送到该物体位置。
EnableTeleport:设置该点能否传送。
🚩 拓展效果
实现类似SteamVR瞬移区域效果。可在该物体上任何地方传送。
将该预制件 DestinationPoint 缩放成一个区域,并添加Collider(调到合适大小)即可。
大家还有什么问题,欢迎在下方留言!
如果你有 技术的问题 或 项目开发
都可以加下方联系方式
和我聊一聊你的故事🧡
这篇关于VRTK☀️四、瞬移的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!