首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Photon分享多人游戏中的材质变化?

如何使用Photon分享多人游戏中的材质变化?
EN

Stack Overflow用户
提问于 2018-09-30 07:39:13
回答 1查看 1.3K关注 0票数 1

我正在使用本教程开发一个简单的AR多人应用程序。

https://www.youtube.com/watch?v=n3a-aaSYR8s

SourceCode

一个用户将一个简单的3D立方体放在房间的某个地方,然后他和其他加入游戏的玩家可以通过点击一个按钮来更改它的材料,这将执行一个简单的代码:

代码语言:javascript
复制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ChangeMaterial : MonoBehaviour {


    public Material material_1;
    public Material material_2;
    public GameObject MainObject;


    void Update(){
        MainObject = GameObject.FindWithTag("Player");
    }



    public void assignMaterialOne(){
            MainObject.GetComponent<Renderer> ().material = material_1;
        }

    public void assignMaterialTwo(){
        MainObject.GetComponent<Renderer> ().material = material_2;
    }



}

它适用于放置立方体的一个玩家,但当其他玩家加入游戏时,他们会看到具有默认材质的立方体。他们可以改变它的材料,但它将只在他们的设备上可见。

如何为所有用户同步和显示立方体的材质或动画的更改?既然本教程使用了Photon,有没有办法使用Photon来实现它呢?

EN

回答 1

Stack Overflow用户

发布于 2018-10-01 19:10:23

为此,您需要通过网络发送数据,在本例中是对材料的引用(您可以使用材料名称,但使用简单的查找表的整数或字节将更有效地节省带宽)

因此,在您的播放器拥有和控制的实例上,您可以在更改时设置此材质引用,所有其他从属实例将检查该更改并相应地调整它们自己的实例。

为此,如果数据是离散的,则可以发送RPC (通过网络发送的消息),或者如果数据确实不断变化(如球员位置和轮换),则可以序列化数据。

因此,我认为在您的情况下,您将能够使用RPC:

https://doc.photonengine.com/en-us/pun/current/gameplay/rpcsandraiseevent

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52573407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档