+1 vote
by (1.0k points)

我的开发环境:unity2020.3.20、XR工具包2.0.0pre5、pico unity xr

想针对pico neo3进行VR多人游戏的开发,但是不知道如何下手。查阅了一些资料,比对了mirror、pun2与netcode for gameobject这些框架,感觉这些框架没有特别适配VR多人游戏。所以想问问各位一般是怎么进行开发的

3 Answers

0 votes
by (1.0k points)
selected by
 
Best answer

在油管找到个教程分享一下:https://www.youtube.com/watch?v=DB5bajOMdUQ&t=11s

by (55.5k points)

感谢您的分享。

0 votes
by (1.1k points)
by (1.0k points)

好的我先看看,非常感谢

by (1.0k points)

可以问问大佬参考的是什么资料吗fusion,官网的VR案例打开就报错。。

by (1.1k points)

DragonHunterVR那个Demo我直接打开不会报错。但问题是它两个VR案例用的都是OpenXR。我用的是Pico,尝试换XR Rig没成功,就按Fusion 100那个教程自己搭了,太新的坏处就是资料太少​
不好搞的话先pun再转fusion也可以,毕竟fusion还挺好用的,不少思路也是相通的。我也在慢慢琢磨

by (1.0k points)

好的,想问下Pico搞多人调试有什么好的方式吗,发布上去太麻烦了

0 votes
by (55.5k points)

开发者您好,

如果您基于PUN v2开发多人游戏,可以看看这个Demo:

https://github.com/picoxr/Photon-state-sync

by (1.0k points)

这个demo运行起来非常顺利,不过我想问一下,在哪个地方规定了使用手柄的哪些按键实现输入呢?

by (55.5k points)

您好,这个Demo使用的是Unity的 Input Manager。

enter image description here

enter image description here

enter image description here

您也可以直接获取手柄的键值作为替代方案:

https://docs.unity3d.com/Manual/xr_input.html

https://sdk.picovr.com/docs/UnityXRSDK/cn/chapter_five.html#pico-neo-3

by (55.5k points)

开发多人游戏调试时,与SDK有关的功能只能发布到VR设备上调试,仅与Photon有关的功能可以在PC端调试,比如状态同步等。

by (1.0k points)

好的,还以为是用的新输入系统

by (1.0k points)

您好,这个demo非常有用,我想再深入地问一下,使用punv2可以进行局域网联机吗,应该怎么着手呢?有试过使用photon server v5,不过还没有摸到门路

by (39.2k points)

开发者您好,

如果你想进行局域网联机,可以使用photon server v5,首先按照官方教程下载SDK并按照官方文档启动服务器,注意查看一下防火墙相对应的端口是否打开:
https://doc.photonengine.com/en-us/server/current/getting-started/photon-server-in-5min

然后在Unity端的PUN设置上,可以参考下图的设置
enter image description here

enter image description here

Server填上你的Photon server部署的机器的本地ip,Port与Portocol的设置可以参考官方文档:
https://doc.photonengine.com/en-us/server/current/operations/tcp-and-udp-port-numbers/

by (1.0k points)

好的,需要编辑photon control的nameserver吗
enter image description here

by (1.0k points)

我在您的github中的photon项目进行以下改动,发布PC版本并拷贝到另一台同一局域网计算机B中,启动B的应用点击Play,弹出如下报错:
Receive issue. State: Connected. Server: '127.0.0.1' ErrorCode: 10054 SocketErrorCode: ConnectionReset Message: Connection reset by peer System.Net.Sockets.SocketException (0x80004005): Connection reset by peer......

改动内容:1、设置photon配置,改动IP、port=5055、协议UDP、UseNameServer=false;

另外photon server我下载SDK后,启动photon control的load balancing,然后修改了nameserver.json,将其中的IP改为本机IP,地区设置为CN

另外,本机的防火墙我已经关闭了

by (1.0k points)

我在如下讨论中发现修改设置文件“GameServer.xml.config”的“PublicIPAddress”项, 改为IP192.168...即可,另外还要设置UseNameServer = false
https://forum.photonengine.com/discussion/18805/server-127-0-0-1-errorcode-10054-socketerrorcode-connectionreset-message-connection-reset#latest

然后转为安卓平台发布至PICO,验证确实可以联机

by (1.0k points)

还想咨询一下,有没有可能不需要额外的主机做服务器,而是发布到pico上,然后pico可以当作服务器的同时,也能参与游戏

by (39.2k points)

开发者您好,

联机的话需要额外的主机做服务器。

...