VRTK☀️四、瞬移

发布于:2022-12-23 ⋅ 阅读:(428) ⋅ 点赞:(0)

在这里插入图片描述

目录

🟥 基础配置

🟧 瞬移的几种方式

1️⃣ 全图基于Collider的基础瞬移

2️⃣ 自适应高度瞬移

3️⃣ 向前快速移动的传送

4️⃣ 贝瑟尔曲线瞬移

🟨 瞬移区域设置

1️⃣ 方法1:瞬移规则限制

2️⃣ NavMesh瞬移

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(调到合适大小)即可。

大家还有什么问题,欢迎在下方留言!


 

在这里插入图片描述


如果你有 技术的问题 或 项目开发

都可以加下方联系方式

和我聊一聊你的故事🧡


网站公告

今日签到

点亮在社区的每一天
去签到