|
11.02.2013, 12:50
|
#1
|
ПроЭктировщик
Регистрация: 03.10.2012
Сообщений: 101
Написано 24 полезных сообщений (для 42 пользователей)
|
Есть вопрос...
Всем привет! Нужна ваша помощь
Допустим у меня есть танк противника, он катается по карте, поворачивает башню на игрока, стреляет все дела...
Эмм...смешно конечно, но башня поворачивается по команде PointEntity
Отсюда несколько проблем:
*Если танк игрока находится выше/ниже танка противника башня творит чудеса
*Так же она моментельно поворачивается, едва заметив игрока
*Ну и последнее...у неё просто идеальная точность!
Может кто нибудь с этим делом помочь или хотя бы дать какой нибудь пример нормального поворота башни?
Зарание спасибо
|
(Offline)
|
|
11.02.2013, 13:17
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Есть вопрос...
sign(DeltaYaw(turret,enemy)) * turret_speed
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.02.2013, 13:33
|
#3
|
ПроЭктировщик
Регистрация: 03.10.2012
Сообщений: 101
Написано 24 полезных сообщений (для 42 пользователей)
|
Ответ: Есть вопрос...
Сообщение от HolyDel
sign(DeltaYaw(turret,enemy)) * turret_speed
|
Щас проверим! Спасибо!
Что то не получается...может я туплю, и что такое sign?
|
(Offline)
|
|
11.02.2013, 13:45
|
#4
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Есть вопрос...
значит sgn. или как там в блице узнать знак числа
для отрицательного дает -1
для положительного 1
для нуля - 0
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.02.2013, 13:55
|
#5
|
ПроЭктировщик
Регистрация: 03.10.2012
Сообщений: 101
Написано 24 полезных сообщений (для 42 пользователей)
|
Ответ: Есть вопрос...
Сообщение от HolyDel
значит sgn. или как там в блице узнать знак числа
|
А, всё, ясно! я почему то думал что ты Sin так написал, долго думал причём тут он
TurnEntity a\turret, 0, Sgn(DeltaYaw(a\turret, player)) * speed#, 0
Так всё отлично работает! ещё раз спасибо!
Только теперь такая же проблема...но уже с дулом
Последний раз редактировалось DeN_93, 11.02.2013 в 16:47.
|
(Offline)
|
|
18.02.2013, 15:14
|
#6
|
Разработчик
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений (для 92 пользователей)
|
Ответ: Есть вопрос...
TurnEntity a\dulo, Sgn(DeltaPitch(a\turret, player)) * speed#, 0, 0
Не?
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb
Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)
Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
|
(Offline)
|
|
19.02.2013, 13:27
|
#7
|
ПроЭктировщик
Регистрация: 03.10.2012
Сообщений: 101
Написано 24 полезных сообщений (для 42 пользователей)
|
Ответ: Есть вопрос...
Неа, так дуло вобще не поворачивается никуда, я пробовал))
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
19.02.2013, 13:39
|
#8
|
Знающий
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений (для 166 пользователей)
|
Ответ: Есть вопрос...
TurnEntity a\dulo, Sgn(DeltaPitch(a\dulo, player)) * speed#, 0, 0
Вот так попробуй.
__________________
AMD Sempron(tm) 1.41Ггц, 1024МБ ОЗУ, GeForce 6200 128МБ, WinXP SP3.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
19.02.2013, 14:58
|
#9
|
ПроЭктировщик
Регистрация: 03.10.2012
Сообщений: 101
Написано 24 полезных сообщений (для 42 пользователей)
|
Ответ: Есть вопрос...
Сообщение от RBK
TurnEntity a\dulo, Sgn(DeltaPitch(a\dulo, player)) * speed#, 0, 0
Вот так попробуй.
|
В смысле я именно так и делал
Получается такая вот лажа....
|
(Offline)
|
|
19.02.2013, 18:12
|
#10
|
Разработчик
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений (для 565 пользователей)
|
Ответ: Есть вопрос...
Может быть так получится, DeN_93 попробуй.
yaw#=DeltaYaw#(Башня_танка,Игрок)
If yaw>5 yaw=5
If yaw<-5 yaw=-5
TurnEntity Башня_танка,0,yaw,0.
|
(Offline)
|
|
19.02.2013, 19:45
|
#11
|
ПроЭктировщик
Регистрация: 03.10.2012
Сообщений: 101
Написано 24 полезных сообщений (для 42 пользователей)
|
Ответ: Есть вопрос...
Хах...решил я свою проблему
Оказывается я привязал дуло к телу, а не к башне, отсюда такие косяки
Так всё получается, только дуло жестоко трясёт
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.03.2013, 11:24
|
#12
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Есть вопрос...
Сообщение от DeN_93
и что такое sign?
|
;для некоторого x можно определить например так:
SGN=(x>0)-(x<0)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
15.03.2013, 13:38
|
#13
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Есть вопрос...
Погоди, погоди, в блице есть годная функция AlignToVector, или как то так. Покрути параметры, возможно ты найдешь нужную комбинацию. + там есть настройка коэффициента плавности выравнивания.
а чтоб убрать "идеальность", просто к вектору скорости снаряда добавляй в момент выстрела rnd(-n,n) по всем трем осям.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.03.2013, 15:51
|
#14
|
ПроЭктировщик
Регистрация: 03.10.2012
Сообщений: 101
Написано 24 полезных сообщений (для 42 пользователей)
|
Ответ: Есть вопрос...
Сообщение от Reizel
а чтоб убрать "идеальность", просто к вектору скорости снаряда добавляй в момент выстрела rnd(-n,n) по всем трем осям.
|
Спасибо! Как то не подумал об этом...
|
(Offline)
|
|
30.03.2013, 12:21
|
#15
|
ПроЭктировщик
Регистрация: 03.10.2012
Сообщений: 101
Написано 24 полезных сообщений (для 42 пользователей)
|
Ответ: Есть вопрос...
Ещё такой вопрос, по Bullet'у:
Как сделать одно составное тело из двух мешей?
Вот что-то пытался, так ничего и не получилось....
Тело_танка=btBodyCreateConvexHull(Меш_танка,150,0)
Тело_башни=btBodyCreateConvexHull(Меш_башни,50,0)
Форма_столкновения=btShapeCreateCompound()
btShapeCompoundAddBody(Форма_столкновения,Тело_тан ка,0,0)
btShapeCompoundAddBody(Форма_столкновения,Тело_баш ни,0,0)
Игрок=btBodyCreateCompound(Форма_столкновения,200)
Тело_игрока=btBodyCompoundAddBody(Игрок,Тело_танка ,1,0,0)
Башня_игрока=btBodyCompoundAddBody(Игрок,Тело_башн и,1,0,0)
Получается что тело башни падает на тело танка и катится по нему вниз
Последний раз редактировалось DeN_93, 30.03.2013 в 16:08.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:53.
|