Вторник, 23 Апреля 2024, 16:16

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Еще одна проблема от меня( поворот объекта
Еще одна проблема от меня( поворот объекта
FORFUNДата: Воскресенье, 08 Июля 2012, 01:09 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Есть танк каркаса:
Base(тело) - Tower(башня) - Stvol(ствол) - spawnPoint(для спавна пулей). На башне висит MouseLook X(1). Но когда поварачивается башня, то spawn пулей идет в томже направление, что делать? Лучше напишите скрипт. Я вот сам пробовал(элемент):
Code
GameObject.FindGameObjectWithTag("SP").transform.rotation.y = GameObject.FindGameObjectWithTag("TW").transform.rotation.y;


Ничего не вышло, помогите плз.


- создавай то, что нравится тебе.
[MIND++] - будь выше и умнее.
IrondustДата: Воскресенье, 08 Июля 2012, 05:37 | Сообщение # 2
участник
Сейчас нет на сайте
Очень странно. Если ствол является родителем объекта спаунпоинт, то при повороте ствола, спаун поинт должен вертеться вместе с ним. ТЫ уврен что правильно назначил родителей?
К тому же когда делаешь спаун пуль, не забывай назначать им и позицию и ротацию спаунпоинта
FORFUNДата: Воскресенье, 08 Июля 2012, 20:15 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Вот родители:

Родители в порядке, а вот конкретно выстер:
Code
if(Input.GetButtonDown("Fire1"))  

{  
if (Time.time > lastAttack + cooldown) {  
var bullit = Instantiate(bullitPrefab,  

GameObject.Find("spawnPoint").transform.position,  

Quaternion.identity);  
bullit.rigidbody.AddForce(transform.forward * 1300);
audio.Play();
Destroy(GameObject.FindGameObjectWithTag("FB"), 1);
lastAttack = Time.time;  
}
}


Не выходит у мен ничего с пулями, точнее чтобы они имели ротацию как и у ствола.


- создавай то, что нравится тебе.
[MIND++] - будь выше и умнее.
ЛевшаДата: Воскресенье, 08 Июля 2012, 21:26 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Quote (Lalalame)
Не выходит у мен ничего

Естественно, Quaternion.identity - обнуляет rotation в мировых координатах.

Code
var bullit = Instantiate(bullitPrefab,  GameObject.Find("spawnPoint").transform.position,  transform.rotation);


X.cor.R (Prologue)

Сообщение отредактировал Левша - Воскресенье, 08 Июля 2012, 21:27
FORFUNДата: Понедельник, 09 Июля 2012, 00:07 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Левша,
сделал как ты сказал, но все равно, если танк смотрит вперед, а башня на лево, то путя летит не в направление повернутого ствола(((

Добавлено (09.07.2012, 00:07)
---------------------------------------------
Левша,
это мы изменяем rotation пули, а не спавн поинта походу


- создавай то, что нравится тебе.
[MIND++] - будь выше и умнее.
IrondustДата: Понедельник, 09 Июля 2012, 05:47 | Сообщение # 6
участник
Сейчас нет на сайте
Вообще очень странно, даже не знаю почему не работает. Попробуй localPosition вместо position

Добавлено (09.07.2012, 05:45)
---------------------------------------------
Хотя нет, это тоже не поможет. Может у тебя спаунпоинт сам по себе не туда смотрит в редакторе?

Добавлено (09.07.2012, 05:47)
---------------------------------------------
ААААА всё понял, ты прикладываешь силу неправильно.
Нужно прикладывать не по transform.forward, а по bullit.transform.forward

FORFUNДата: Понедельник, 09 Июля 2012, 11:33 | Сообщение # 7
почетный гость
Сейчас нет на сайте
Irondust,
Сейчас попробую.

Добавлено (09.07.2012, 11:23)
---------------------------------------------
Irondust,
Сделал как ты сказал, но ничего не поменялось.

Добавлено (09.07.2012, 11:33)
---------------------------------------------
Вот выложу вам unity package танка, только чтобы все норм работало, вы должны создать проект и поставить все галочки.


- создавай то, что нравится тебе.
[MIND++] - будь выше и умнее.
ЛевшаДата: Понедельник, 09 Июля 2012, 15:25 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
У тебя по ходу видимо пивоты обьектов неверно настроены, надо поправить в максе.
Или удочери все обьекты пустышкам и работай с их трансформами.
Вот так должно быть настроено:



X.cor.R (Prologue)

Сообщение отредактировал Левша - Понедельник, 09 Июля 2012, 15:29
FORFUNДата: Понедельник, 09 Июля 2012, 17:15 | Сообщение # 9
почетный гость
Сейчас нет на сайте
Левша,
В том то дело, что модель собирай из кубов в unity.


- создавай то, что нравится тебе.
[MIND++] - будь выше и умнее.
ЛевшаДата: Понедельник, 09 Июля 2012, 18:20 | Сообщение # 10
почти ветеран
Сейчас нет на сайте
Quote (Lalalame)
сделал как ты сказал, но все равно, если танк смотрит вперед, а башня на лево, то путя летит не в направление повернутого ствола

А скрипт у тебя на чем висит?
Должен на стволе висеть или на firePoint, т.е то на чем висит скрипт должно *смотреть* туда куда стреляешь, тогда transform.rotation отправит снаряд в нужном направлении. smile


X.cor.R (Prologue)
FORFUNДата: Понедельник, 09 Июля 2012, 18:26 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Левша, Скрипт висит на Base, тоесть на танке, но я подумал, можно разделить скрипт на два, тоесть контроллер и выстрелы отдельно, сейчас попробую. С меня +

Добавлено (09.07.2012, 18:26)
---------------------------------------------
Левша, Спустч столько врмемени, оказалось, что все так просто, спс все ок теперь.


- создавай то, что нравится тебе.
[MIND++] - будь выше и умнее.
ЛевшаДата: Понедельник, 09 Июля 2012, 18:27 | Сообщение # 12
почти ветеран
Сейчас нет на сайте
Quote (Lalalame)
Скрипт висит на Base

biggrin Ну тогда все понятно, оно у тебя в направлении базы и стреляет.
Не нужно делить скрипт, сделай так:

Code
var bullit = Instantiate(bullitPrefab, GameObject.Find("spawnPoint").transform.position, GameObject.Find("spawnPoint").transform.rotation);


X.cor.R (Prologue)

Сообщение отредактировал Левша - Понедельник, 09 Июля 2012, 18:27
FORFUNДата: Понедельник, 09 Июля 2012, 18:31 | Сообщение # 13
почетный гость
Сейчас нет на сайте
Левша,
Да я уже разделил, и так норм, все равно спс.


- создавай то, что нравится тебе.
[MIND++] - будь выше и умнее.
IrondustДата: Понедельник, 09 Июля 2012, 19:25 | Сообщение # 14
участник
Сейчас нет на сайте
Я об этом и говорил, что не туда он силу прикладывает
FORFUNДата: Понедельник, 09 Июля 2012, 22:52 | Сообщение # 15
почетный гость
Сейчас нет на сайте
Irondust,
Ды ты прав, но не понял я сразу


- создавай то, что нравится тебе.
[MIND++] - будь выше и умнее.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Еще одна проблема от меня( поворот объекта
  • Страница 1 из 1
  • 1
Поиск:

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