Photon Unity Networking(PUN)插件使用入门

一、前言

我们知道在untiy 5.1之后,unity自带了Unet,但是PUN的功能强大之处,更胜一筹。

下面来简单介绍一下unity中使用Photon插件的方法。

二、使用PUN插件

【Unity3D插件】Photon Unity Networking(PUN)的简单使用_photon

当显示为Joined时候就可以点击地面,同步生成预制体Cube了。

【Unity3D插件】Photon Unity Networking(PUN)的简单使用_photon_02

在面板里我们只需要加入一个Plane就可以了

【Unity3D插件】Photon Unity Networking(PUN)的简单使用_photon_03

再去给它附上一个叫做Click的脚本就可以了。


using UnityEngine;
using System.Collections;
using ExitGames.Client.Photon;
public class Click : MonoBehaviour
{
    public GameObject prefab;
    void Start()
    {

    }

    void OnClick()
    {
        Debug.Log(InputToEvent.inputHitPos);
        PhotonNetwork.Instantiate(prefab.name, InputToEvent.inputHitPos, Quaternion.identity, 0);

    }

}
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.

这里的OnClick事件会在点击地面Plane的时候会触发事件。

在OnClick里面能看见PhotonNetwork.Instantiate

这个是Photon 插件的自带的函数,也是用于出现预制体的函数。

在摄像机上面添加控制NetWorking的脚本

这里是用来加入或者创建房间的,还有用来退出房间的。

首先,初始化版本号

PhotonNetwork.ConnectUsingSettings(“1.0”);
这里表示我们是1.0版本

之后,来添加两个GUI,一个表示加入或者创建房间,一个退出房间。

PhotonNetwork.JoinOrCreateRoom(“xiaogeformax”, new RoomOptions {MaxPlayers = 16}, null);
创建房间最大为16人的房间

using UnityEngine;
using System.Collections;

public class PUNConnect : MonoBehaviour {


    void Start()
    {
        PhotonNetwork.ConnectUsingSettings("1.0");
    }
    void OnGUI()
    {
        GUI.Label(new Rect(Screen.width / 2 - 75, 20, 150, 20), PhotonNetwork.connectionStateDetailed.ToString());
        if (GUI.Button(new Rect(Screen.width/2-50,50,100,30),"加入游戏房间" ))
        {
            if (PhotonNetwork.connected)
            {
                PhotonNetwork.JoinOrCreateRoom("xiaogeformax", new RoomOptions {MaxPlayers = 16}, null);
            }

        }

        if (GUI.Button(new Rect(Screen.width / 2 - 50, 150, 100, 30), "退出游戏房间"))
        {
            if (PhotonNetwork.connected)
            {
                PhotonNetwork.LeaveRoom();
            }
        }
    }
}
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.

我们再制作上面的预设体,就创建了个Cube,通常我们把预设体放入Project面板里就成了,但在这里我们要在我们的文件下面创建Resources文件夹,或者放在原来的Resources文件夹里面。并给Cube预设体添加PhotonView。然后在Observed Componts里面选择Cube。【Unity3D插件】Photon Unity Networking(PUN)的简单使用_photon_04

设置PhotonSeverSetting

【Unity3D插件】Photon Unity Networking(PUN)的简单使用_PUN_05

红色方框里面的就是我们的配置信息了,在Hosting里面要选择PhotonCloud,表示使用了云服务器。
Region里面选择使用服务器的地区,有亚洲,美国,还有欧洲什么的。
AppID这个是比较重要的,要注册的,注册之后在这里会出现的,复制一下就可以了!
下面的Protocol我们选择使用UDP协议就可以了【Unity3D插件】Photon Unity Networking(PUN)的简单使用_PUN_06

还有些连接本地Photon服务器的一些问题,还是有些疑惑不是太能理解,以后弄懂了之后,再来修改完善。

【Unity3D插件】Photon Unity Networking(PUN)的简单使用_PUN_07





免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空