Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Камера привязывается к другому новому игроку. unity3d 6

Ocidn Знаток (331), на голосовании 1 месяц назад
использую библиотеку мультиплеера mirror, unity3d 6. Проблема такая (локальная сеть):
заходит игрок (хост), все нормально. Заходит второй игрок, и тут камера ПЕРВОГО игрока (хоста) привязывается к новому игроку. получается так, что камеры на втором игроке, а с ходьбой и поворотами все нормально.
код для камеры:
using UnityEngine;
using Mirror;

public class CameraController : NetworkBehaviour
{
public float sensitivity = 2.0f;
public float maxYAngle = 80.0f;

private float rotationX = 0.0f;

private void Update()
{
if (!isLocalPlayer || !isOwned)
return;

float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");

transform.parent.Rotate(Vector3.up * mouseX * sensitivity);

rotationX -= mouseY * sensitivity;
rotationX = Mathf.Clamp(rotationX, -maxYAngle, maxYAngle);
transform.localRotation = Quaternion.Euler(rotationX, 0.0f, 0.0f);
}
}
структура игрока:

если что, Cube, Cube (1) это глаза персонажа, а gun обычный прямоугольник тип отсылка на маенкрафт (внутри него обычный Cube)
Голосование за лучший ответ
Лев Перфилов Просветленный (34158) 2 месяца назад
Просто отключай компонент камеры, если она находится не на локальном игроке.
OcidnЗнаток (331) 2 месяца назад
а как, просто я только сейчас начал изучать си шарп вместе с юнити
Лев Перфилов Просветленный (34158) Ocidn, Значит рановато до мультиплеера. Но вообще, дописываешь внутри класса
 private void Start()
{
    if (!isLocalPlayer || !isOwned)
    {
        GetComponent<Camera>().enabled = false;
    }
} 
Похожие вопросы