Пятница, 21 Июня 2024, 23:26

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • AdomДата: Среда, 04 Июня 2014, 13:13 | Сообщение # 6041
    Печенька!
    Сейчас нет на сайте
    Я уже наверно надоел но. Все сделал и все тип топ кроме одного но... Есть корпус на нем BoxCollider но он никак не реагирует на другие объекты т.е просто проезжает сквозь. Галочка IsTrigger вырублена. Сейчас напишу как расположено все.
    Tank_00(Пустышка)=>Башня, Камера , Корпус.
    На пустышке Tank_00 стоит скрипт управления корпусом .
    zaicev9797Дата: Среда, 04 Июня 2014, 13:26 | Сообщение # 6042
    AbRaKaDaBrA
    Сейчас нет на сайте
    у тебя на чем коллайдер?

    Добавлено (04.06.2014, 13:26)
    ---------------------------------------------
    чем двигаешь свой танк?


    проект Mysterious Space. The losted moment
    AdomДата: Среда, 04 Июня 2014, 13:57 | Сообщение # 6043
    Печенька!
    Сейчас нет на сайте
    zaicev9797, Коллайдер на корпусе его я двигаю. А двигаю с помощью transform.position
    zaicev9797Дата: Среда, 04 Июня 2014, 14:34 | Сообщение # 6044
    AbRaKaDaBrA
    Сейчас нет на сайте
    Цитата
    двигаю с помощью transform.position

    вот поэтому и проходит насквозь.

    Тебе надо либо делать проверку на препятствия с помощью рейкаста или триггер энтера. Или же двигать с помощью физики, а при столкновениях обнулять велосити

    Добавлено (04.06.2014, 14:34)
    ---------------------------------------------
    еще можно на велл коллайдерах сделать, тогда и велосити обнулять не надо.


    проект Mysterious Space. The losted moment
    allodsДата: Среда, 04 Июня 2014, 17:41 | Сообщение # 6045
    почти ветеран
    Сейчас нет на сайте
    И камеру парентить не надо если ты используешь тот скрипт
    AdomДата: Среда, 04 Июня 2014, 19:39 | Сообщение # 6046
    Печенька!
    Сейчас нет на сайте
    До меня доперло почему он не реагирует ибо у меня модель без физики ибо с ней мой танк колбасит очень сильно. Поэтому я сделал свое притяжение к земле )

    Добавлено (04.06.2014, 19:39)
    ---------------------------------------------
    Да и вот такой вопрос. У меня сейчас башня отдельно от корпуса и поэтому когда едешь на горку она в плоскости Y в одном положении как сделать что-бы она повторяла значение Y у корпуса ? Только пот этой оси.

    allodsДата: Среда, 04 Июня 2014, 19:48 | Сообщение # 6047
    почти ветеран
    Сейчас нет на сайте
    Господи сколько можно

    Я сказал засунь башню в корпус , и крути ТОЛЬКО ПО ГОРИЗОНТАЛИ и не будет вертеться по другому , Верти ее только туда куда смотрит камера по горизонтали , камера не в танке она сама едет за танком благодаря скрипту .

    Добавлено (04.06.2014, 19:48)
    ---------------------------------------------
    Почему у тебя башня не в корпусе в чем логика

    AdomДата: Среда, 04 Июня 2014, 20:29 | Сообщение # 6048
    Печенька!
    Сейчас нет на сайте
    allods, Да блин если засунуть башню в корпус т.е сделать его ребенком то корпус крутит башню за собой а это мне не надо

    Добавлено (04.06.2014, 20:29)
    ---------------------------------------------
    Все решил. Сделал так . Когда корпус вращается в одну сторону башня вращается в противоположную.

    allodsДата: Среда, 04 Июня 2014, 20:33 | Сообщение # 6049
    почти ветеран
    Сейчас нет на сайте
    Цитата Adom ()
    Да блин если засунуть башню в корпус т.е сделать его ребенком то корпус крутит башню за собой а это мне не надо

    Ты когда в Ворлд оф Танкс крутишь танк башня не вертится вместе с корпусом? Ответ : Вертится

    Добавлено (04.06.2014, 20:31)
    ---------------------------------------------
    Если повернуть туловище человека голова повернется вместе . Но потом тебе придется повернуть голову в нужную сторону
    Танк тоже самое когда ты крутишь танк поскольку башня на танке она крутится вместе с корпусом

    Добавлено (04.06.2014, 20:33)
    ---------------------------------------------
    Если ты не хочешь делать реалистичный танк то просто бери поворот корпуса по вертикали и верти башню за корпусом, а по горизонтали за камерой вот и все

    AdomДата: Суббота, 07 Июня 2014, 22:11 | Сообщение # 6050
    Печенька!
    Сейчас нет на сайте
    allods , Извини но сейчас я наверно в конец выбью остаток твоих нервов ) .
    Как сделать некую стабилизацию камеры ? Т.е что-бы она возвращалась на прежнее место ?
    allodsДата: Воскресенье, 08 Июня 2014, 00:00 | Сообщение # 6051
    почти ветеран
    Сейчас нет на сайте
    в смысле на прежнее
    Из какого положение в какое ^^и когда? чуть поточнее


    Сообщение отредактировал allods - Воскресенье, 08 Июня 2014, 00:01
    AdomДата: Воскресенье, 08 Июня 2014, 10:55 | Сообщение # 6052
    Печенька!
    Сейчас нет на сайте
    Ну надо сделать так что-бы башня и камера не смотрели в разные стороны а вставали на одну линию только не сразу .
    dimonishДата: Воскресенье, 08 Июня 2014, 11:02 | Сообщение # 6053
    был не раз
    Сейчас нет на сайте
    Спасибо!

    DalyДата: Воскресенье, 08 Июня 2014, 17:14 | Сообщение # 6054
    постоянный участник
    Сейчас нет на сайте
    Adom, сделай поворот башни по рейкасту камеру * на скорость поворота
    allodsДата: Воскресенье, 08 Июня 2014, 17:52 | Сообщение # 6055
    почти ветеран
    Сейчас нет на сайте
    Цитата Adom ()
    Ну надо сделать так что-бы башня и камера не смотрели в разные стороны а вставали на одну линию только не сразу .

    А как ты башню крутишь то?

    Добавлено (08.06.2014, 17:52)
    ---------------------------------------------
    И рейкаст не нужен

    EchoITДата: Воскресенье, 08 Июня 2014, 18:14 | Сообщение # 6056
    старожил
    Сейчас нет на сайте
    Цитата
    Ну надо сделать так что-бы башня и камера не смотрели в разные стороны а вставали на одну линию только не сразу .

    Quaternion.RotateTowards.


    Долгожданный анонсик: State of War
    AdomДата: Воскресенье, 08 Июня 2014, 21:43 | Сообщение # 6057
    Печенька!
    Сейчас нет на сайте
    allods, Скриптом )

    Добавлено (08.06.2014, 21:43)
    ---------------------------------------------
    EchoIT, Не вышло.
    P.S Я использую стандартный MouseOrbit

    Сообщение отредактировал Adom - Воскресенье, 08 Июня 2014, 21:35
    allodsДата: Воскресенье, 08 Июня 2014, 23:31 | Сообщение # 6058
    почти ветеран
    Сейчас нет на сайте
    Цитата Adom ()
    allods, Скриптом )

    Дано как именно , LookAt или как ?

    Добавлено (08.06.2014, 23:31)
    ---------------------------------------------
    скопируй свой кусочек кода

    AdomДата: Понедельник, 09 Июня 2014, 10:37 | Сообщение # 6059
    Печенька!
    Сейчас нет на сайте
    Код
    using UnityEngine;
    using System.Collections;

    public class Turret : MonoBehaviour {
    public Transform object1;
    public float rotationVel=50;  
    public float yRotation=5;  
    float currentRotation = 0; //Current Rotation
    float upRotacionLimit = 6; //Up Limit Rotation
    float lowRotacionLimit = -3; //Low Limit Rotation  
    void  Update (){
    if(networkView.isMine){
    transform.position=object1.transform.position;
    //Rotate the turret to the right
    rotationVel += Input.GetAxis("Mouse X");
    transform.Rotate(Vector3.up*rotationVel*5);
    //Rotate the turret to the left
    rotationVel -= Input.GetAxis("Mouse X");    
    transform.Rotate(-Vector3.up*rotationVel*5);
    //  
    }
    }
    }

    Вот
    allodsДата: Понедельник, 09 Июня 2014, 14:03 | Сообщение # 6060
    почти ветеран
    Сейчас нет на сайте
    Adom
    Вот написал мелкий скрипт специально для тебя.

    Рабочий проверил

    Код
    using UnityEngine;
    using System.Collections;

    public class Turret : MonoBehaviour {

      float towerHorizonatlRotat;  ////поворот башни по горизонтали  
      public float speedRotat; ///скорость поворота  
      void Start ()  
      {
       towerHorizonatlRotat = transform.eulerAngles.y;////При старте наш towerHorizonatlRotat  будет равен повороту башни
      }
       
      void Update ()  
      {
       towerHorizonatlRotat = Mathf.MoveTowardsAngle (towerHorizonatlRotat, Camera.main.transform.eulerAngles.y,speedRotat*Time.deltaTime);  /////изменяем со скоростью speedRotat к повороту башни
       transform.eulerAngles = new Vector3(0, towerHorizonatlRotat, 0);/// вертим саму башню
      }
    }


    здесь
    transform.eulerAngles = new Vector3(0, towerHorizonatlRotat, 0);

    можно в место нулей поставить поворот корпуса

    transform.eulerAngles = new Vector3(tankBody.eulerAngles.x , towerHorizonatlRotat, tankBody.eulerAngles.y);

    Добавлено (09.06.2014, 14:03)
    ---------------------------------------------
    Если и тут не будет работать то я думаю ты как то хреново там все запарентил и я тебя попрошу сделать маленький скрин

    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг