CurveClamped 在模型中点
c++中不能Add Spline Mesh Componet,
需要创建在注册
CurveClamped 在模型中点
c++中不能Add Spline Mesh Componet,
需要创建在注册
ProjectPointToNavagation
拖入SteamVR组件 ChaperoneOutline房间组件
steam VR
GetBounds
Minimum Area Rectangle
获取最大内接矩形,这里用来表示传送落点落在哪里
Nearly Equal作为float比较
新版本,static mesh actor需要改成 actor 引用
overlap有两个条件:
1.是否可以碰撞;
2.允许重叠;
打包和平常不一样
调试状态自己就能看到导航边界的初始化
打包好的要等一段时间才有导航边界的初始化
头盔想对于追踪原点的值
SetTrackingOrigin FloorLevel 站立式的VR体验
Camera LockToHMD 会跟着头显旋转
给Camera一个空白的父组件
POSITION 定点位置信息
NORMAL 3
TANGENT 顶点切线 4
两个Rotator之和可以用Unreal现成的
使用CombineRotator
VRPawn和头显有一定的偏移量
传送需要保证头显在指定位置
获取修正后的传送么门位置
GetFixedTeleportDestination()
Delay不能放到函数里,需要放到事件里。
类型转换
int -> float 不发生变化。
float/double -> int 向下取整。
尽量避免将超过数据类型取值范围外的值赋值给变量。
float + int 的情况下会视值的大小进行类型转换,值小的转换为值大的数据类型。
强制类型转换
1)在常量或变量前加上要转换的数据类型并使用括号括起来,如:
int i = (int)12.9;
此为C语言标准。
2)在常量或变量前加上要转换的数据类型并使用括号将常量或变量括起来,如:
int j = int(12.9);
此为C++语言标准。
两种转换规则均与上述类型转换规则相同,浮点转到整型会进行向下取整。
使用VRCharacter父类注意
Use Controller Rotation Yaw不能勾选?
因为是Reparent所以它默认不勾选,采用的是Pawn父类默认的位置。
追踪原点默认在地上(胶囊体与地面接触)
VRCamera会接收到头显的位置和移动而变换位置
移动的时候会遇到物体出现一些问题。
VRCamera 减去 ActorLocation获取偏移
校正原理没听懂
头盔 ,Character,CameraRoot之间的相互作用
传送时候VRPawn没有考虑到Pawn坐标没有和相机塞在一起。
需要设置胶囊体 和肩宽一样
飞速度移动的物体需要遮挡可以减少眩晕
后处理体积 很多都没有开
Blinker眼罩材质 材质Domain改为PostPorcess
创建一个Curve
CreateDynamicMaterialInstance
然后通过Character传递给材质势力
从后处理组件中取到材质组件 Add Or Update Blendable
根据速度从曲线中获取对应的值更新到材质中
Set Scalar Parameter Value
把坐标映射到0-1
貌似是把材质贴到了目标位置。
移动方向和相机方向相同?
分为前进和后退,计算预测移动的位置
目标位置世界坐标映射到屏幕
然后变成0到1(ScreenPosition/ViewPortSize)
把参数传递给后处理材质。
实时监测VRCamera 是否在区域内,如果不在显示个对话框提示。
给一个大模型超出边界区域,保证交互不会超出区域。
Haptics触觉反馈曲线,告诉马达什么样的频率去震
Asset/Outline: 描边功能
Rendering中 Render Custom Depth自定义深度即可透视