项目实训(十四)pun的建立,使用以及注意方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

PUN基础教程,pun的使用以及注意方法


一、pun的建立

首先在商店页面找到该 Photon Unity Networking Free 插件。

在这里插入图片描述

导入,由于 已经 注册 了 Photon 的账号。

这里要填写 AppId 来建立工程。先进行下一步 ,登录 Photon 官网 地址:https://www.photonengine.com/en/PUN

获得 AppId 再 填写这一栏。

Photon 官网 地址:https://www.photonengine.com/en/PUN
没有账号的注册一个 Photon 账号。

输入 邮箱 地址,和 在 photon 注册 的账号密码。
在这里插入图片描述

进入 Dashboard 页面。这里就是 App 页面。
在这里插入图片描述

创建一个 新的 App

自定义 App 的名字 (暂时命名为 test_001),鼠标移动 到 App ID: 上面 ,复制后面 的号码
在这里插入图片描述

回到 Unity ,粘贴 刚才 复制的 App ID 。Setup Project

在这里插入图片描述

系统 自动 建立了一个 PhotonServerSettings.asset 的文件。

在这里插入图片描述

二、pun的使用

1.创建AppId,可以通过官网免费申请。这样,我们就得到了一个可以同时容纳20人的云应用服务空间。

2.连接服务器、房间访问和创建。这是联网的基础内容,可以通过一个空对象挂载Launcher脚本实现。其中,Launcher脚本包含了版本、链接、回调函数等基础内容,可以作为标准化的对象嵌入到任何新的网络应用中。

3.创建UI系统,从简单的UI系统中,学会用户交互,通过用户输入控制网络。

4.使用简单数据存储PlayerPrefs系统,通过UI控件,对玩家的基本信息进行存储交互。

5.通过LoadScene()可以进行多场景之间的调用,这种调用可以通过场景号码或者场景名称来调用。

6.场景管理器:用于管理场景之间的连接、切换、交互等功能,是一个比较通用的模块,可以作为一个预制件处理。

7.自定义的脚本可以看成一个自定义的组件,通过组件挂靠到具体的实例(Object)的方法,可以将脚本发挥作用;有些单纯的脚本发挥作用的可以通过挂载在空对象上实现功能。

8.网络编程需要对各种网络操作流程有较深的理解,比如一个简单的流程:连接服务器 - 将本机作为主机设置游戏空间网络 - 在网络建好之后的回调函数中执行创建并进入房间的方法 - 在进入房间之后的回调函数中加载游戏场景 - 游戏场景切换逻辑与进出房间的脚本挂靠。这样以后,就完成了单纯的基本网络架构。

9.建立玩家系统:首先考虑的是模型,然后是动画逻辑,然后是控制语句,接着是场景优化(包括相机跟随,姿态优化等),后面还有对战交互系统等更复杂逻辑的构建。

三、注意方法

注意点1

1.习惯于用log来确保每一个可能的错误都被提取到,虽然很枯燥,但是却有利于长远打算。
2.Time.deltaTime是使得FixedUpdate真正活起来的幕后方法,如果要脱离帧率存在,可以在Update中使用这个方法定制新功能。
3.Trigger与Collision的区别与联系:都可以检测碰撞,只不过Trigger方法不发生物理行为,而Collision方法可以实现全部的物理属性。
4.联网同步:变换同步组件+动画同步组件,同时可以设置同步帧率特性(与本机帧率不同)。
5.加上PhotonNetwork.Connected == true作为判断条件,可以允许用户本地测试而不影响联网效果。

注意点2

1.使用IpunObservable.OnPhotonSerializeView重构方法可以实现对本地 / 网络玩家实时数据的分离、同步等功能。
2.所有Application的内容都过时了,使用SceneManager新方法可以管理,具体查找Standard Events的示例。
3.使用Static方法可以保证本地玩家的唯一性,同时需要使用this指针将实例连接到static变量中。
4.DontDestroyOnLoad(this.gameObject)方法可以保证有玩家退出时不对场景内其他玩家造成销毁的影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值