专注VR多人联机的教程1-4章
🎮
前期准备
建立普通的3d项目
导入SDK
在导出处修改纹理模式
在player里修改色彩模式 选择线性
install location 选择 automatic
多线程运行
quality
XR Rig的 tracking origin mode 改为Floor
在资产添加这两个
随后在项目设置里 过滤一些词语
删除之前xr rig 重新添加
主相机视野穿模解决办法
设置头和body一个图层,然后在相机的渲染模式之下取消勾选该图层
优化传送区域
手动去设置有一个碰撞盒子,并指定单独的图层(在控制器和地面都需要修改 Interaction Layer Mask)
XR Direct Interactor 这个组件允许手柄进行交互
最后别忘记 在主相机 和 镜子相机 内启用刚刚设置好的图层
被抓取物 以固定方向被抓取
首先找个坐标,扔进grab组件的这里即可
所有的键位管理器
解决两个碰撞盒的冲突
在项目设置里的物理系统
多人联机平台 PHOTO
资源商店 搜索pun 2
传送🚪
PUN 2 - FREE | 网络 | Unity Asset Store
导入进去后 会要求输入appID
先去 PHOTO官网申请个账号
传送🚪
https://www.photonengine.com/zh-CN/Photon
随后创建一个类型为Pun的应用,将出现的appid填入unity里即可
(可以更改一些设置,具体参考官网相关信息)
留意游戏的版本withPHOTO 他将用来区分新老玩家
如何连接服务器
1 | using System.Collections; |
使用开源的虚拟键盘
🚪
GitHub - campfireunion/VRKeys: A drum-style keyboard for VR in Unity
同样也在资源商店里可以找到 👉vrkeys
不建议下载最新版本而是使用教程提供的网盘下载
键盘生成位置是固定的
并且我个人感觉调节位置在VR眼镜里挺不好调节的
4-7
连接服务器需要使用全局魔法,否则将不会测试成功
4-8 具有自定义属性的房间
新UIprefab在附赠的下载链接内,不要恐慌
根据键值对决定进入房间的类型
const常量允许被其他脚本直接访问
4-12 实例化玩家
使用PhotonNetwork.Instantiate()来生成一个prefab
请留意一定要给prefab添加一个 photon view 的组件
而且他将自带头显,你必须要删除原本的摄像机
4-13 继续改进可被别人看到
需要给prefab挂载一个脚本
这个脚本用以生成prefab,但是剥夺了他们xr rig
4-14 修改一些潜在错误
掉到地底下
1 | TeleportationArea[] teleportationAreas = GameObject.FindObjectsOfType<TeleportationArea>(); |
*遍历含有TeleportationArea脚本的游戏物体,如果存在(!=O),那么将该物体的TeleportationArea脚本下的公共变量将被赋予为👉某物体的组件下的provider就给他了 但是有个问题是所有的area都被赋予同样的provider*
好用的单例模式
1 | public static VirtualWorldManager Instance; |
这是另一个脚本可以直接访问
专注VR多人联机的教程1-4章