我想在unity3d中使用类似暗黑破坏神般的相机系统创建多人游戏。所以无论我点击屏幕。该系统在单人模式下运行良好,我不需要在玩家预制件中包含相机。但是现在我面临的问题是,我的相机旋转也受到我预制父母旋转的影响。层次结构是这样的:预制内相机旋转
有加,看起来像这样的相机的脚本:
using UnityEngine;
using System.Collections;
public class MainCameraComponent : MonoBehaviour {
public GameObject Reaper;
private Vector3 offset;
void Start() {
offset = transform.position - Reaper.transform.position;
}
// Update is called once per frame
void LateUpdate() {
transform.position = Reaper.transform.position + offset;
}
}
当我运行游戏的摄像机始终保持我的性格后面,而我希望它始终保持相同的旋转。所以如果我命令我的角色向北走,我会看到他的背部,如果它向南走,我想看到前方。
通知阴影的变化,(因此旋转),但我怎么总是面对我的模型的背部。 TLDR:我希望我的孩子相机忽略其父母的旋转变化并且是静态的。同时让我的相机位置由其父母指导。据我所知,似乎不可能让网络管理员实例化一个新玩家预制,然后在相同的层级上连接一台摄像机。
任何帮助将不胜感激。
我这是在第一个地方,它实际上工作。我制作了一个名为playerContainer的空白gameObject,并将相机添加到该相机中,以便它与玩家处于同一层级。我面临的问题是我需要访问播放器中网络标识给出的“isLocalPlayer”属性。因为网络身份可能只出现一次,我需要将它放到容器中,以便网络管理员接受它作为玩家预制。那么,我将如何从层次结构中较低的某处访问我的“isLocalPlayer”属性? –
@MarkStroeven修改我的答案,可能会解决您的网络问题。从编辑下来阅读。对网络身份不太了解,但可以将其附加到作为所有预制项目的父项的“PlayerPrefab”。 – Programmer