Воскресенье, 17 Ноября 2024, 00:27

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • VickaДата: Пятница, 16 Августа 2013, 18:04 | Сообщение # 4501
    Another ART
    Сейчас нет на сайте
    Вопрос - допустим создаю куб объект куб стену ну и разумеется теран где все это ездит. Вешаю пишу скрипт столкновения на куб "объект" который при столкновении со стеной ее уничтожает. Все шикарно работает до того момента как в сцену добавляю какой нибудь First Person Controller. Мой скрипт тут же перестает работать. Почему?

    AevienДата: Пятница, 16 Августа 2013, 18:40 | Сообщение # 4502
    почти ветеран
    Сейчас нет на сайте
    First Person Controller сам по себе имеет кучу функций управления, поэтому просто происходит конфликт твоих функций с функциями First Person Controller. Напиши свой контроллер к объекту
    VickaДата: Суббота, 17 Августа 2013, 09:11 | Сообщение # 4503
    Another ART
    Сейчас нет на сайте
    Aevien, спасибо) А как отловить этот конфликт подскажешь?

    FroSTDSДата: Воскресенье, 18 Августа 2013, 13:31 | Сообщение # 4504
    почетный гость
    Сейчас нет на сайте
    Нужно сделать генерацию трассы: трасса состоит из 5 одинаковых кусков, но разных визуально. Трасса прямая. Необходимо придвижении игрока на определенном расстоянии ставить один из 5 кусков трассы рандомно. Т.е. получается что при движении вперед вся трасса будет состоять из разных кусков. Как это сделать? Помогите пожалуйста!
    ActiveActionДата: Воскресенье, 18 Августа 2013, 14:05 | Сообщение # 4505
    был не раз
    Сейчас нет на сайте
    FroSTDS, естественно можно написать скрипт который будет создавать последовательность добавления этих блоков. В чем проблема? Если тебе нужен скрипт так и пиши, а пока что непонятно чего ты хочешь.

    Team Manager в ActiveAction; Unity3d разработчик;
    "Все готовы предлагать, делать тоже кто-то должен." - shara
    Лучшее решение для вашего геймдев сайта.
    FroSTDSДата: Воскресенье, 18 Августа 2013, 14:12 | Сообщение # 4506
    почетный гость
    Сейчас нет на сайте
    Цитата
    Если тебе нужен скрипт так и пиши

    Да, нужен скрипт
    EchoITДата: Воскресенье, 18 Августа 2013, 14:12 | Сообщение # 4507
    старожил
    Сейчас нет на сайте
    FroSTDS,
    Код
    public GameObject[]=new GameObject[5]; //Массив блоков, засунь свои 5 разных туда.
    //Далее, в куске кода установки блока:
    Instantiate(Blocks[Random.Range(0,4)],Позиция,Кватернион);

    Мой код подойдёт и для разных блоков, если же тебе нужно менять только модель или текстуру, то делай так же, но только заменив массив геймобджектов на массив нужных тебе моделей/текстур, и выбирай путём Blocks[Random.Range(0,4)].


    Долгожданный анонсик: State of War
    ActiveActionДата: Воскресенье, 18 Августа 2013, 14:20 | Сообщение # 4508
    был не раз
    Сейчас нет на сайте
    FroSTDS, а пробовал ли ты поискать? Вот здесь лежат примеры: link; Здесь подробно описана генерация трека на примере: link;
    Думаю этого будет достаточно. Решения многих проблем уже давно найдены стоит лишь найти их.


    Team Manager в ActiveAction; Unity3d разработчик;
    "Все готовы предлагать, делать тоже кто-то должен." - shara
    Лучшее решение для вашего геймдев сайта.


    Сообщение отредактировал ActiveAction - Воскресенье, 18 Августа 2013, 14:20
    KiraДата: Воскресенье, 18 Августа 2013, 17:18 | Сообщение # 4509
    заслуженный участник
    Сейчас нет на сайте
    Цитата (Neia)
    Aevien, спасибо) А как отловить этот конфликт подскажешь?

    код покажи.


    Unity3d разработчик на С#. Лучшее спасибо + в репу.
    "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов".
    "Человек, который никогда не ошибался никогда не пробовал ничего нового".
    "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
    GantZ_YakaДата: Понедельник, 19 Августа 2013, 12:11 | Сообщение # 4510
    почетный гость
    Сейчас нет на сайте
    подскажите что, тут не так?? обычный контроллер скрипт персонажа, где стрелками влево-вправо - вращение вокруг своей оси, а вверх-вниз - движение вперёд-назад. Почему-то персонаж ни в какую не хочет идти вперед, только пятится назад sad
    Код
    using UnityEngine;
    using System.Collections;

    public class PlayerControlNew : MonoBehaviour {
       
        
         public float speed = 150.0f;       
         public float rotationSpeed = 10.0f;
         private Vector3 moveDirection = Vector3.zero;
         public float gravity = 40.0F;
       
         void Update() {
           CharacterController controller = GetComponent<CharacterController>();
        
           
           
           if (Input.GetKey (KeyCode.LeftArrow) || Input.GetKey(KeyCode.A))  
        {    
            transform.RotateAround (Vector3.up, -rotationSpeed * Time.deltaTime);
        }
           if (Input.GetKey (KeyCode.RightArrow) || Input.GetKey(KeyCode.D))
        {
            transform.RotateAround (Vector3.up, rotationSpeed * Time.deltaTime);
        }
            
           moveDirection = Vector3.zero;
           
          if (Input.GetKey (KeyCode.UpArrow) || Input.GetKey(KeyCode.W))
       {    
           moveDirection += controller.transform.forward * speed * Time.deltaTime;
       }
        
          if (Input.GetKey (KeyCode.DownArrow) || Input.GetKey(KeyCode.S))
       {
           moveDirection -= controller.transform.forward * speed * Time.deltaTime;
                  }
          
       moveDirection.y -= gravity * Time.deltaTime;
       controller.Move(moveDirection * Time.deltaTime);
        
      }
       
    }
    VickaДата: Понедельник, 19 Августа 2013, 12:26 | Сообщение # 4511
    Another ART
    Сейчас нет на сайте
    Цитата (Kira)
    код покажи.

    да каой там код. одна строчка. По уроку сделано.
    вот код
    Код

    using UnityEngine;
    using System.Collections;

    public class col : MonoBehaviour {
    // Теперь метод принимает объект класса Collision, с которым происходит столкновение
    void OnCollisionEnter(Collision myCollision) {
       // определение столкновения с двумя разноименными объектами
       if (myCollision.gameObject.name == "Floor") {   
           // Обращаемся к имени объекта с которым столкнулись   
           Debug.Log("Hit the floor");
       
         }
         else if (myCollision.gameObject.name == "Wall") {
           Debug.Log("Hit the wall");
        Destroy(GameObject.Find("Wall"));
         }
       }
    }


    работает ровно до того момента - пока не добавлены в сцену контролер от первого либо от 3 лица.


    NEBRДата: Понедельник, 19 Августа 2013, 13:02 | Сообщение # 4512
    почти ветеран
    Сейчас нет на сайте
    Neia, привет ) Наверняка у тебя первый куб, который перемещается имеет компонент Character Controller. Или какой нибудь скрипт, имеющий то же имя что и стандартные скрипты контроллера. Удали его и все заработает. В Character Controller ты наверняка использовала функцию передвижения Move, можно написать свой скрипт для перемещения объекта, без этой функции. Использовать, например AddForce или transform.Translate. Нужна будет помощь - пиши в личку )

    King Size #Gamiron12
    VickaДата: Понедельник, 19 Августа 2013, 13:39 | Сообщение # 4513
    Another ART
    Сейчас нет на сайте
    NEBR, Привет)
    Нееее дело не в этом. Скрипт только на этом кубе. В сцене всего 2 объекта один из них "wall" я просто роняю куб с колизионом скриптом на этот второй спомощью риг боди. Но если в сцене присудствует какой либо из контролеров скрипт работать перестает. Будет минутка сделаю видео в фрапс - для наглядности глюка.


    PoqXertДата: Понедельник, 19 Августа 2013, 13:50 | Сообщение # 4514
    постоянный участник
    Сейчас нет на сайте
    Как в коде сбросить анимацию на начало?

    Расширения для Unity3D
    Блог программиста - PoqXert.ru
    NEBRДата: Понедельник, 19 Августа 2013, 13:50 | Сообщение # 4515
    почти ветеран
    Сейчас нет на сайте
    Neia, я собрал сценку как ты описала, у меня работает все как нужно. C контроллерами и от первого и от третьего лица.. Версия юньки 4.1.5f
    на сцене два куба, один стена, второй под ригидбади падает на него. На нем висит твой скрипт. Также добавил контроллеры. Стена пропадает


    King Size #Gamiron12

    Сообщение отредактировал NEBR - Понедельник, 19 Августа 2013, 13:55
    VickaДата: Понедельник, 19 Августа 2013, 13:58 | Сообщение # 4516
    Another ART
    Сейчас нет на сайте
    NEBR, окей) буду искать ошибку драйвера "кривые руки" biggrin

    NEBRДата: Понедельник, 19 Августа 2013, 14:39 | Сообщение # 4517
    почти ветеран
    Сейчас нет на сайте
    GantZ_Yaka, твой скрипт у меня тоже работает как нужно ) Идет и вперед и назад. Версия юньки, повторюсь, 4.1.5f

    King Size #Gamiron12
    KiraДата: Понедельник, 19 Августа 2013, 20:50 | Сообщение # 4518
    заслуженный участник
    Сейчас нет на сайте
    Цитата (NEBR)
    NEBR, окей) буду искать ошибку драйвера "кривые руки"

    Код нормален твой, ошибка где то сбоку. Попробуй новый проект сделать.


    Unity3d разработчик на С#. Лучшее спасибо + в репу.
    "Безумие: делать одно и то же снова и снова, и ждать при этом разных результатов".
    "Человек, который никогда не ошибался никогда не пробовал ничего нового".
    "Если человек может спокойно управлять автомобилем во время поцелуя красивой девушки, значит он уделяет поцелую недостаточно внимания”. Альберт Эйнштейн
    KardyДата: Среда, 21 Августа 2013, 19:54 | Сообщение # 4519
    частый гость
    Сейчас нет на сайте
    Небольшой вопрос:
    Есть персонаж с rigidbody и capsule collider;
    И ведет он себя... как капсюль. Переворачивается при малейшем толчке и дергает ногами.
    Как сделать так что-бы он не опрокидывался?
    lentinantДата: Среда, 21 Августа 2013, 20:18 | Сообщение # 4520
    ленивый программист
    Сейчас нет на сайте
    Kardy, в окошке настроек Rigidbody есть раздел Constraints (как-то так), там можно заморозить вращение и перемещение по осям.

    Когда-то тут будут ссылки на крутые проекты. Или нет.
    Поиск:

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