Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 27.12.2006, 23:07   #1
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
кривая Птичка

Всем привет1 делаю бота (а точнее птичку[которая даже не атакует(пока)))])
да вот беда ! появляется она нормально! а как только начинает лететь к вей поинту поворачивается на 90градусов и незнаю почему! думал сделать пивотик и привизать ее туда (неполичолЪ, думаю эта птичка склювала серого червечка из моей головы)
помогите пожалуйсто))
вот код для создание этой твари и ее следование по вейпоинтам:
 
Global birdka=LoadAnimMesh("Models\animals\bird.3ds")
RotateEntity birdka,90,0,0
ScaleEntity birdka,1,1,1
HideEntity birdka
Type birdbot
Field bot_entity

End Type
Global bd.birdbot
Function create_bot_Bird(x#,y#,z#)
bd.birdbot=New birdbot 
bd\bot_entity=CopyEntity(birdka) 
PositionEntity bd\bot_entity,x#,y#,z#
Return True 
End Function
Function Update_Bot_Bird(target_,botS)
speed#=1
RotateEntity botS,0,DeltaYaw#(target_,botS),0
MoveEntity botS,0,0,-speed#;
End Function
Function Update_Bird()
For wd.birdwaypoint = Each birdwaypoint 
For bd.birdbot= Each birdbot
If (wd\waypoint_number=result_randomb) Then
target_=wd\waypoint_entity
If (EntityDistance(bd\bot_entity,wd\waypoint_entity)<Distance_Next_Waypoint) Then SeedRnd MilliSecs():result_randomb=Rnd(1,birdkol) ; 
If (EntityDistance(bd\bot_entity,player)<0) Then target_=player 
Update_Bot_Bird(target_,bd\bot_entity)
EndIf
Next
Next
End Function
Уточняю поворачивается она по вертикали!
ище вопросик как сделать чтобы эта птичка передвигалась
по синусу(косинусу) ну чтоб не просто прямо летела а плавненько вверх-вниз
(Offline)
 
Ответить с цитированием
Старый 30.12.2006, 00:54   #2
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: кривая Птичка

Вот почему по вертикали незнаю, а почему вообще поворачивается, так это потучто т двигаешь её на 1 удиницу, и последний толчок, может немного перебрать её вперёд, вот поэтому и вэйпойнт остаётся позади.

Сделай, что если дистанция меньше какого-то, установи что она уже достигла, и просто постепенно уменьшай скорость до 0.
(Offline)
 
Ответить с цитированием
Старый 30.12.2006, 01:03   #3
Raiter
Гигант индустрии
 
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений
(для 92 пользователей)
Re: кривая Птичка

вверх-вниз делай через массив и проганяй его вперед-назад увеличивая/уменьшая координату Y пока она не достигнет мин/макс значения которое ты выбирешь
(Offline)
 
Ответить с цитированием
Старый 30.12.2006, 01:12   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: кривая Птичка

Геморно.
Вот мой варриант:
Создаём пивот, к нему птичку, птичку паррентим и отодвигаем немного от пивота. Затем каждй цикл поварачивай птичку на вэйпоинт и просто крути пивот, вроде так, может и непрально:
RotateEntity Pivot,Sin(Millisect()*.05)*180,Sin(Millisect()*.05)*180,Sin(Millisect()*.05)*180
Это будет её плавно крутить, и достаточно красиво, играй с множителями.
(Offline)
 
Ответить с цитированием
Старый 30.12.2006, 12:00   #5
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: кривая Птичка

MoKa c первыв вопросом разобрался в 3дмакс(хотя я понял почему ее разворачивало [надобыло ротейтентити поменять на ротейтмешь])

а за второй спасибо,теперь она красиво летает)
(Offline)
 
Ответить с цитированием
Старый 30.12.2006, 20:03   #6
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: кривая Птичка

Ну и снова вопрос! непонимаю почему если создаешь несколько ботов все они дружно ходят по одним и темже точкам! ни кто не делал ботов с вейпоинтами??

помогите пожалуйсто))
зарание спасибо!
(Offline)
 
Ответить с цитированием
Старый 31.12.2006, 02:26   #7
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
Re: кривая Птичка

делал я. подумываю продолжить.
продумай систему вейпоинтов так, чтобы не было проблем хождением ботов по одинаковым вейпоинтам.
(Offline)
 
Ответить с цитированием
Старый 31.12.2006, 02:41   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: кривая Птичка

итак. если ВСЕ боты испольхуют ОДНУ И ТУ-ЖЕ схему вейпонтов, то стоило бы удивиться если-б они пошли разными путями, схема-же одна.
можно:
1) задать каждому боту свою схему (геморно)
2) создать несколько схем и боту всучивать рандомно одну из них (некрасиво).
пока все.
(Offline)
 
Ответить с цитированием
Старый 31.12.2006, 13:30   #9
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: кривая Птичка

печально(
я пока сдел так что первый бот ходит от 1 до 5 вейпоинта второй 5 до 10 ... посделний от N-5 до N ну и в правду неочень смотрица) да и замарочено( все еще надеюсь что ктонить поможет)
(Offline)
 
Ответить с цитированием
Старый 01.01.2007, 22:56   #10
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: кривая Птичка

Сделай массив на вэйпоинты, где будешь задавать ближайшие вэйпойнты, к которым может пойти бот, и потом просто боту рандомь число, сколько всего есть варриантов пойти от этог7о фэйпоинта, и пускай его туда, попробуй просто в массиве задовать Ид число для каждого вэйпоинта и координаты, и ещё список с возможными путями. Наверное так.
(Offline)
 
Ответить с цитированием
Старый 02.01.2007, 02:11   #11
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: кривая Птичка

Спасибо! сделал проще в тип еще переменныю добавил отвечающее за ето дело!
Теперь все работает) Тему мона закрыть)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кривая Безье — красивая вещь zheland 2D-программирование 2 20.07.2008 15:45
Кривая стыковка картинок в Галерее. Serendipity Наш форум 2 23.08.2007 06:33


Часовой пояс GMT +4, время: 12:45.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com