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

Unity 5, камера от 3 лица

15.05.2017, 19:40. Просмотров 1414. Ответов 1
Метки нет (Все метки)

Привет вам добрые форумчане, столкнулся с небольшой проблемой. Написал механику движения от 3 лица, так же сделал управления мышью (типа как в ГТА), но тут я столкнулся с этой проблемой, а именно, камера проникает через все объекты (тригеры). Кто поможет ее решить?))))

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
using UnityEngine;
using System.Collections;
 
public class CameraControler : MonoBehaviour
{
 
    public Transform target;
    public Vector3 offset;
    public float sensitivity = 3; // чувствительность мышки
    public float limit = 80; // ограничение вращения по Y
    public float zoom = 0.25f; // чувствительность при увеличении, колесиком мышки
    public float zoomMax = 4; // макс. увеличение
    public float zoomMin = 2; // мин. увеличение
    private float X, Y;
 
    private float zoomFaer;
    private bool leftEndRight;
 
 
    void Start()
    {
        limit = Mathf.Abs(limit);
        if (limit > 90) limit = 90;
        offset = new Vector3(offset.x, offset.y, -Mathf.Abs(zoomMax) / 2);
        transform.position = target.position + offset;
    }
 
    void Update()
    {
        if (Input.GetAxis("Mouse ScrollWheel") > 0) offset.z += zoom;
        else if (Input.GetAxis("Mouse ScrollWheel") < 0) offset.z -= zoom;
 
        #region
        if (Input.GetKeyDown(KeyCode.Mouse1) == true)
        {
            zoomFaer = offset.z;
            offset.z = 0;
        }
        else if (Input.GetKeyUp(KeyCode.Mouse1) == true)
        {
            offset.z = zoomFaer;
        }
 
        if (Input.GetKeyUp(KeyCode.Tab) == true)
        {
            if (leftEndRight == false)
            {
                leftEndRight = true;
                offset.x = -0.5f;
            }
            else if (leftEndRight == true)
            {
                leftEndRight = false;
                offset.x = 0.5f;
            }
        }
        #endregion
 
        offset.z = Mathf.Clamp(offset.z, -Mathf.Abs(zoomMax), -Mathf.Abs(zoomMin));
        
        X += Input.GetAxis("Mouse X") * sensitivity;
        Y += Input.GetAxis("Mouse Y") * sensitivity;
        Y = Mathf.Clamp(Y, -limit, limit);
        transform.localEulerAngles = new Vector3(-Y, X, 0);
        transform.position = transform.localRotation * offset + target.position;
 
    }
}
В области region я экспериментировал с приближением, так что на это не обращайте внимания. Пролазил много сайтов и форумов ни чего нету про это.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2017, 19:40
Ответы с готовыми решениями:

Камера от 3-го лица
Ребят помогите!!! Необходимо написать скрипт поворота персонажа за камерой, т.е. обычная камера от...

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

Вид от 1 лица в Unity 5
Всем привет. Народ столкнулся с такой бедой. Раньше работал в Unity3D Pro 3.5 сейчас перешел на...

TPSMouseLook; Камера от 3-его лица; Синхронизация поворотов камеры и персонажа
Всем добрый день! Сразу оговорю, что уровень моих знаний очень низкий, так что прошу строго не...

Unity 2d камера ничего не видит
удалил камеру, когда создал камеру заново, она перестала видеть все объекты которые я ставил в...

1
Prog_maker
428 / 376 / 149
Регистрация: 23.01.2011
Сообщений: 1,036
16.05.2017, 08:50 2
В Standart Assets есть MultipurposeCameraRig. Это что вам надо. У нее есть защита от проникновения в объекты.
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2017, 08:50

Vuforia и Unity - не запускается камера
Подготовлен проект в Unity3D с использованием Vuforia SDK (дополненная реальностью). В режиме...

Где можно почитать основы разработки в Unity/Unity 3D
До этого был небольшой опыт работы с Windows.Forms и WFP с C#. Где можно разобраться и научится...

Передача значений по ip unity -> unity
Доброго времени суток вопрос: (мб простой) как передать например string значение между двумя unity...


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

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

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