提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
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)方法可以保证有玩家退出时不对场景内其他玩家造成销毁的影响。
今天的文章项目实训(十四)pun的建立,使用以及注意方法分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/60506.html