![]() |
Начинаю изучать Unity. Минимальный проект.
Здраствуйте! Решил заняться Unity.
Для себя решил, что буду писать на C#. Первый учебный проект будет таким: Есть пушка. Пушка поворачивается мышью по двум осям. (право, лево, верх, низ) Стреляет по нажатию правой кнопки мыши. Снаряд - сфера. (с встроенной физикой Unity) Цели - кубы которые переодически появляются на игровом поле. Хотел бы узнать какими коммандами работать с мышью, с созданием нового ядра пушки (клонирование префаба) и придания ему импульса. |
Ответ: Начинаю изучать Unity. Минимальный проект.
1) Поворот мыши по осям:
http://unity3d.com/support/documenta...t.GetAxis.html Отследить нажатие на правую кнопку мыши: PHP код:
2) Клонирование префаба: http://unity3d.com/support/documenta...rom=GameObject 3) Приданиe импульса сфере http://unity3d.com/support/documenta....AddForce.html К сфере должен быть прикреплен Rigidbody. В документации язык примеров с JavaScript на C# перевести не забудь:) |
Ответ: Начинаю изучать Unity. Минимальный проект.
Огромное спасибо, Nazgul.
Всё что надо. Ничего лишнего. |
Ответ: Начинаю изучать Unity. Минимальный проект.
Небольшое дополнение:
всё это есть у тебя вместе с поставкой юнити. Лезть в меню Help -> Scripting Reference (как я понял по тексту, понятие об архитектуре Юнити у тебя есть) Удачи в начинании! |
Ответ: Начинаю изучать Unity. Минимальный проект.
На меня ругаются...
Assets/example2.cs(10,23): error CS0266: Cannot implicitly convert type `UnityEngine.Object' to `UnityEngine.Rigidbody'. An explicit conversion exists (are you missing a cast?) хотя всё по примерам из справки: Код:
public class example : MonoBehaviour { |
Ответ: Начинаю изучать Unity. Минимальный проект.
Instantiate всегда возвращает GameObject (который частный случай Object)
Правильно: Код:
GameObject clone; Код:
clone.rigidbody.velocity Если из Instantiate надо вытащить сразу какую-то компоненту: Код:
clone = Instantiate(projectile, transform.position, transform.rotation).rigidbody; |
Ответ: Начинаю изучать Unity. Минимальный проект.
Ещё вопросик.
Как получить поворот пушки, чтобы выпустить снаряд в направлении поворота? |
Ответ: Начинаю изучать Unity. Минимальный проект.
поворот получаешь из transform.rotation
|
Ответ: Начинаю изучать Unity. Минимальный проект.
но конкретно для снаряда проще установить transform.forward снаряда = transform.forward пушки (если пушка конечно не смотрит передним концом вбок О_о от модели и/или иерархии зависит)
Обожаю вектора в юнити) |
Часовой пояс GMT +4, время: 08:47. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot