问题标签 [photon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
966 浏览

c# - Unity Multiplayer Respawn 从 Unityscript 调用 C#

我正在尝试使用我的子弹收集脚本在玩家的生命值低于 1 时删除并重新生成玩家。但是我调用 unity c# 函数的脚本不太正常,它说我试图调用的函数是

资产/关卡/资源/bulletCollision.js(27,16):BCE0019:“SpawnMyPlayer”不是“UnityEngine.Component”的成员。

这也是重生被杀玩家的正确方法吗?

网络管理器.cs:

子弹碰撞.js:

0 投票
1 回答
5546 浏览

c# - PhotonNetworking Unity Player Spawn 无法通过网络工作

这是解决的代码。

解决了[]

所以我有一个统一的项目正在处理我们正在使用光子网络我附上了播放器结构的图像以及与之相关的脚本。出于某种原因,当我加载两个玩家时,他们看不到对方。

我知道如果我不禁用播放器,我会同时看到两者,但控制会全部搞砸,但是如果我禁用与角色的每个元素相关联的脚本,并像教程说的那样让角色保持启用状态,我可以'由于某种原因,我无法选择脚本,我不知道如何访问组件。 在此处输入图像描述

我确实在控制台中加入失败,这是输出

但随后它加入并且不会失败

这是我的网络管理器

新发展如果我加入团结,然后再次加入另一个玩家,我会收到以下错误

我已经稍微更改了代码,除了相机之外它似乎可以正常工作

当我生成第二个角色时,它不会启动相机,并且我在技术上从第一个角色相机控制第二个角色。

当我不断编码时,我想出了这个

所以我没有收到任何错误,但它没有找到 Turret、Pivo​​tPoint 和 Enable its mouse look 的子项,它只启用了炮塔鼠标外观。

0 投票
0 回答
1693 浏览

c# - 出于某种原因无法销毁 PhotonNetwork 对象

我正在尝试在与实例化的光子网络对象碰撞后删除它,但是即使我将其设置为对象并且错误返回正确的对象,由于某种原因它无法删除它,我可以不知道为什么在这里。这里有错误:

0 投票
0 回答
76 浏览

c# - Unity 角色在 PhotonNetworking 上的移动

所以我有一个玩家健康脚本,它有一个函数被调用来收回脚本所在玩家的健康点。

因此 PlayerOnes 健康脚本将跟踪他的健康 PlayerTwo 将跟踪他的健康。

当检测到子弹碰撞时,它会从碰撞对象的健康脚本中调用 takedamage。因此它会受到伤害,它适用于 NPC,但不适用于联网玩家。

如果 P1 射击 ---> P2 两次,它会受到 50 的伤害,然后再次受到 50 的伤害,但它不会输出你的死亡,也不会记录玩家的命中,这意味着它不会受到伤害,因为玩家生命值是 0,因此它只是检测到碰撞而不做任何事情。但它不会执行其余代码并转换玩家位置等。问题是脚本在两台计算机上运行并且在两台计算机上都检测到碰撞,因此无论它是否联网,它都应该检测到它并执行更新并注册它。

有任何想法吗?

0 投票
1 回答
1221 浏览

networking - RPC同步替代MMORPG、Photon Unity3D

我正在使用 Photon Unity Networking,并且正在开发我的一个小游戏。

我已经到了一个有玩家和小怪的房间的地步。当出现新播放器时,我使用 RPC 调用将有关此播放器的信息更新给所有其他连接的用户以进行同步。问题是..这个新玩家没有关于房间其余部分的任何信息(他的信息不是最新的)。我的意思是例如其他玩家的当前健康状况,或小怪的当前健康状况等。

我想出的唯一解决方案是将 RPC 发送到主客户端,传递所有易失性对象,并通过此更新将几个 RPC 调用发送回新播放器。

我要问的是……我真的必须这样吗?还是有其他方法,更好或更简单的方法?

0 投票
1 回答
5596 浏览

c# - 如何通过光子统一网络实例化其预制件来生成对象 - unity 3d

在我的多人游戏中,我试图通过实例化它来生成我的玩家。运行程序时出现的错误说我缺少光子视图组件,但我已将其设置为正确的播放器预制件。这是我的网络管理员的代码,它在运行时搜索、加入和创建房间。OnJoinedRoom 函数应该生成我的播放器。

错误-'无法实例化预制件:播放器。Prefab 必须有一个 PhotonView 组件。

代码:

使用 UnityEngine;使用 System.Collections;

公共类 NetworkManager : Photon.MonoBehaviour {

}

此链接是检查器中玩家信息的图片。

http://prntscr.com/4wa8f6

0 投票
1 回答
731 浏览

networking - 使用 Photon Unity Networking 向网络游戏中的特定玩家显示消息

在进入对象的触发区域时,会向玩家显示一条消息(通过标签找到)。如果玩家随后按下拾取按钮,该物品将被添加到他们的库存中。它在单人游戏中运行良好。

当我使用 PUN(光子网络)时,它会向所有玩家显示它(因为所有玩家的脚本都检测到事件)并且所有玩家都可以拾取该项目。我该如何解决这个问题?

我相信修复这件作品将使我了解如何修复其他所有问题:

0 投票
3 回答
1505 浏览

unity3d - Photon Server 是否支持多协议连接?

我需要使用 UDP 和 TCP 连接将 Unity3D 客户端连接到 Photon Server。可能吗?我在哪里可以读到它?PS 我想使用 TCP 发送大量数据。

0 投票
2 回答
3334 浏览

networking - 光子网络 - Getroomlist()

我使用获取房间列表功能来获取服务器中的房间。但是一旦我加入了特定的房间,我就看不到列表了?即使我连接到房间,我如何才能看到列表?

0 投票
1 回答
6598 浏览

c# - 统一的本地网络多人游戏

我按照教程链接使用 Unity 3D 创建多人第一人称射击游戏。它使用 Photon Unity Networking 插件。游戏运行良好。但问题是它使用了光子云。我想将其转换为离线多人游戏。然后我可以使用我的 LAN 网络或本地 Wi-Fi 路由器来传输游戏数据。我需要类似使命召唤多人游戏的东西。是否可以使用 Photon Unity Networking 来做到这一点。如果可能的话怎么做?我应该在我的代码中更改什么?您能否推荐任何有关使用 Unity 3D 进行离线多人游戏设计的教程。由于我对编程很陌生,请给我一个详细的答案。

多人第一人称射击教程链接: link