注意此文章开始结束VRCAHT UNITY SDK中的东西,之前的组件章我打算砍掉,因为组件内容过多,且复杂,并不适合一章全部介绍完,反而更适合做到需要用到的时候来介绍。
注意此专栏是主要面向VRCHAT玩家,如果您只想学习Unity请移步其他Unity教程,因为此专栏只会讲VRCHAT需要用到的Unity知识。
1.VRCWorld物体详解
1.1.VRCWorld物体位置
此项目是咱们之前创的新项目,单击选中VRCWorld即可看到VRCWorld身上的组件
1.2.VRCWorld上的组件
共有4个组件,注意看看有没有少什么组件,如果有请按上图方法重载sdk
1.3.如果你进入项目不是这样,记住点击按下图进行重置(正常项目是下图这个样子)
2.VRC Scene Descriptor组件
2.1VRC Scene Descriptor组件参数大致图解
2.2.Spawns/Spawn Order/Spawn Orientation参数详解
2.2.1参数位置(VRC Scene Descriptor组件内前三个)
2.2.2.Spawns参数(玩家出生点)
此参数影响玩家出生/重生点的位置,默认情况下就是VRCWorld这个组件位置,也就是说玩家会出生在Scene
我们现在在VRCWorld下创建几个球体Sphere,(此处是示范,你不需要跟着做,你只需要理解我下面说的参数作用)
此时我们现在的世界就有了三个出生点(但是具体出生方式需要后边两个参数)
!!注意!!目前Spawn Order存在重大bug的,即使你按照下图的操作也是无法得到对应效果的(编辑器中)
First是正常第一个点生成,Seq很可能一直生成在第一个位置,Random也是一直生成在第一个位置。
由于作者并没有玩VR的朋友,所以并不能在VRCHAT中测试,暂且不知道VRCHAT中是否存在此BUG,但是此bug修复起来极其简单,如果看后面反馈说有人在VRCAHT游戏里面设置也如上诉情况的话,我将会出单独一期来介绍怎么使用Udon Graph写逻辑实现上诉生成方法(不包括Demo类型),请有任何测试的玩家进行留言,本人实在是没有条件参与测试。
通过SDK的构建出4个端仍然出现此bug,图中是Seq方式,但是却是跟上方一样,同时在第一个位置生成(等待后续我出教程脚本实现)
2.2.3.Spawn Order参数(玩家出生方式)
上面我做了三个出生点,然后咱们看这个地方的4种方式
2.2.4.Spawn Orientation(生成方向)
建议使用Default/Align Player,这种更为合理,实际上VRCHAT里的世界99.9%都是生成玩家到出生点的
2.3.RespawnHeightY★(重生高度)
2.3.1参数位置(VRC Scene Descriptor组件内第五个)
2.3.2参数作用(玩家以及物体重生高度)
首先选中VRCWorld,视角往下看,可以看到一个绿色的平面,此处为了便于观察我将Floor长宽缩小了10倍
注意:官方重生高度是-100,实际上-100太夸张,如果地图水平线正常玩家不小心跑到了边缘开始下坠,100是需要不少时间下坠完成的,对于VR玩家其实极其极其不友好,因为这种被动式移动会让VR玩家很晕,所以要缩短这段距离,我的建议是到-10即可。
但是也要注意你地图的水平线是否正常(测试方法很简单,你创建一个Cube然后大概放到你地面上,看下Cube的Y轴是多少即可),比如你的地图水平线很低假设你到了-11,然后你设置了-10的高度就会导致洛基同款无限下坠,所以在设置高度时候要看一下自己的地图最低能到Y轴多少,然后再相应更改
2.4.Forbid User Portals(禁止玩家放传送门)
字面意思,勾选了之后玩家无法在你地图丢其他地图的传送门
2.5.Object Behaviour At Respawn Height(行为物体低于重生高度的逻辑)
2.5.1具体逻辑
2.5.2.Object Behaviour At Respawn Height生效条件
官方并没具体描述,但是个人测试是当一个物体被加了VRC Object Sync(此物体是给物体做同步用的,如果不加你和其他玩家看到是不一样的)时就会上方的行为物体低于重生高度的逻辑才会生效
3.Udon Behaviour组件(第一个Udon组件)
此处你可以看到下方的也有一个Udon Behaviour,这个Udon Behaviour将是咱们的重中之重,因为咱们后边的所有代码逻辑都是通过Udon Behaviour,这两个Udon Behaviour是官方提前准备好的,当然是很基础的功能。
此处功能较为简单,无需多介绍
4.Udon Behaviour组件(第二个Udon组件)
补充:注意图中的最小和最大高度都是眼睛高度,比如有些特殊的人物模型他是类似于第三人称时,这时受控制的是根据眼睛高度来限制,就算你的模型是一张很小的图片,但是眼睛(画面)很高照样会被限制。
如果alwaysEnforceHeight启用,切换到使用非常高或非常矮的摄像机的玩家将自动设置到 “minimumHeight” 或 “maximumHeight”范围内
✩结束语
此栏也比较多,这是都是一些基础配置,下一节就正式开始Udon Behaviour的U#教学。
下一节具体内容:基础U#脚本,重写Interact()方法,实现点击切换指定物体状态(开或关),以及点击实现传送。
不求赞不求收藏如果您觉得有用可以分享给您的朋友看看,希望能更多人学习到。
steam名字AKC_DEV