Форум программистов, компьютерный форум, киберфорум
Наши страницы
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
 
lynx191919
0 / 0 / 0
Регистрация: 14.01.2019
Сообщений: 1
1

Как сделать для каждого игрока свою камеру в мультиплеер?

14.01.2019, 20:52. Просмотров 57. Ответов 0
Метки нет (Все метки)

Создаю игру с мультиплеером от первого лица при заходе одного игрока все нормально но при заходе второго игрока первый игрок начинает смотреть через камеру второго игрока и получается что оба игрока смотрят от одного.
C#
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
 
public class TestMowe :NetworkBehaviour {
    
 
 
    public Transform planet;
    public new Transform camera;
 
    public float speed = 5f, speedBoostMultiplier = 2f,jp;
    public float gravity = 70f,n;
    
    public int a,z,k;
    public int  x;
    
    public float sensitivityX = 3f;
    public float sensitivityY = 3f;
    public float minimumY = -90f;
    public float maximumY = 90f;
    private float rotationY = 0f;
        
    private Vector3 targetVelocity = Vector3.zero, currentVelocity = Vector3.zero, velocityChange = Vector3.zero;
    private Quaternion targetRotation;
    void Update () {
        //transform.GetComponentInChildren<Camera>().GetComponent<Camera>().enabled = true;
        
        
        if (!isLocalPlayer) {
            
            return;
            
        }
        
        
        
        
        var x = Input.GetAxis ("Horizontal") * speed;
        var z = Input.GetAxis ("Vertical") * speed;
        transform.Translate(x,0,z);
        Vector3 gravityVector = -transform.up;
        
        if(planet != null) {
 
            gravityVector = (planet.position - transform.position).normalized;
            targetRotation = Quaternion.LookRotation(transform.forward, -gravityVector);
            transform.rotation = targetRotation;
        }
        
        currentVelocity = transform.InverseTransformDirection(GetComponent<Rigidbody>().velocity);
        currentVelocity.y = 0f;
        velocityChange = transform.TransformDirection((targetVelocity - currentVelocity));
        GetComponent<Rigidbody>().AddForce(velocityChange, ForceMode.VelocityChange);
 
        
            GetComponent<Rigidbody>().AddForce(gravity * gravityVector);
        
        
        transform.Rotate(0f, Input.GetAxis("Mouse X") * sensitivityX, 0f);
 
        rotationY += -Input.GetAxis("Mouse Y") * sensitivityY;
        rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);
        camera.localEulerAngles = new Vector3(rotationY, 0f, 0f);
        
        
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2019, 20:52
Ответы с готовыми решениями:

Как сделать так, чтобы камера была привязана к персонажу, но у каждого игрока отдельная
Как сделать так, чтобы камера была привязана к персонажу, но у каждого игрока отдельная? Добавляя...

Как сделать first person камеру для телефона?
Способов 10 перепробовал, смотрел туториалы (включая англоязычные), но заработал только один способ...

Как сделать оружие у игрока?
Пытаюсь сделать чтобы игрок держал оружие но не получается. Надо чтобы оружие прикреплялось на...

Как сделать нормальное вращение игрока?
Когда я вращая мышкой он меняет не только Rotate, но и Translate(хотя не показывает, как я понял...

Как сделать чтобы объект появлялся на координатах игрока?
Вот мой код void OnCollisionStay(){ if (UnityEngine.Collision == Farm){ if...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2019, 20:52

Можно ли в Unity сделать мультиплеер без ip сервера на сайте?
Мне надо зделать так штоби игроки могри играть на 1 карте (штото типа танков онлайн кто играл) но...

Мультиплеер для 2д игры
Здравствуйте. Пишу с друзьями 2d top-down рпг, уже довольно много сделали. Хочется сделать...

Как сделать камеру дочерним объектом после создания другого объекта, или отображение сцены после создания самой камеры?
Есть кнопка при нажатии на неё создается куб ( с помощью Instantiate) как сделать камеру дочерним...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru