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

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

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

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

Ответ
 
Опции темы
Старый 19.06.2010, 19:59   #1
strayhnd
Оператор ЭВМ
 
Регистрация: 09.06.2010
Сообщений: 21
Написано 2 полезных сообщений
(для 2 пользователей)
Управляемая голова во время анимации

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

man = LoadAnimMesh("man.b3d")
head = FindChild(man, "Bip01 Head")

Animate man, 1, 1, 0
While Not KeyHit(1)
             If KeyDown(2) Then 
		TurnEntity head,1,0,0
	EndIf
	If KeyDown(3) Then 
		TurnEntity head,-1,0,0
	EndIf

	UpdateWorld()
	RenderWorld()
	Flip
Wend
End
(Offline)
 
Ответить с цитированием
Старый 19.06.2010, 21:04   #2
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Ответ: Управляемая голова во время анимации

сначала
UpdateWorld()
а потом уже управляй головой, но не turn, а меняй переменную поворота и rotate
__________________
299 792 458
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
strayhnd (22.06.2010)
Старый 20.06.2010, 16:20   #3
Hurrit
Мастер
 
Аватар для Hurrit
 
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений
(для 2,207 пользователей)
Ответ: Управляемая голова во время анимации

Анимируешь ноги, потом, через findchild находишь их, и запускаешь только их анимацию. Затем, находишь голову через тот же findchild, и уже её крутишь через свой код.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
strayhnd (30.06.2010)
Старый 20.06.2010, 17:06   #4
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Ответ: Управляемая голова во время анимации

Управляемая голова
ага, головой нужно управлять чтоб не создавать подобные темы, смотреть справку и логически рассуждать(в твоем коде сначала голова поварачивается, а потом ее поварачивает согласно анимации).
__________________
299 792 458
(Offline)
 
Ответить с цитированием
Старый 20.06.2010, 18:37   #5
Coks
Знающий
 
Регистрация: 29.05.2007
Сообщений: 227
Написано 126 полезных сообщений
(для 312 пользователей)
Ответ: Управляемая голова во время анимации

DeeJex, ты сам пробовал так делать как описал?
P.S. Вообще-то форум для того и создан, что бы темы создавать и направлять начинающих в нужную сторону. Гы!
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Coks за это полезное сообщение:
Arton (20.06.2010), is.SarCasm (23.06.2010)
Старый 20.06.2010, 18:41   #6
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Ответ: Управляемая голова во время анимации

Сообщение от Coks Посмотреть сообщение
DeeJex, ты сам пробовал так делать как описал?
а смысл если ошибка очевидна?
__________________
299 792 458
(Offline)
 
Ответить с цитированием
Старый 22.06.2010, 14:29   #7
strayhnd
Оператор ЭВМ
 
Регистрация: 09.06.2010
Сообщений: 21
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Управляемая голова во время анимации

DeeJex, спасибо, теперь все ок. Не пойму только почему в ксорсе этот метод не работает (тоесть работает как в первом посте), хотя все команды идентичны.

Сообщение от Hurrit Посмотреть сообщение
Анимируешь ноги, потом, через findchild находишь их, и запускаешь только их анимацию. Затем, находишь голову через тот же findchild, и уже её крутишь через свой код.
Расскажи пожалуйста чуть подробнее, как реализовать это начиная с импорта анимации из 3дмакса (ну или в общем случае). Я так думаю, нужно скрыть или удалить незадействованные части скелета при импорте, но боюсь что нарушится иерархия и блитц не захочет грузить эту анимацию. Вобщем, буду разбираться и экспериментировать...

Последний раз редактировалось strayhnd, 22.06.2010 в 20:36.
(Offline)
 
Ответить с цитированием
Старый 23.06.2010, 22:11   #8
Hurrit
Мастер
 
Аватар для Hurrit
 
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений
(для 2,207 пользователей)
Ответ: Управляемая голова во время анимации

Ну смотри: Голову ты называешь head. У тебя есть ноги, допустим называешь их legs (учитываем регистр), ты анимируешь их в 3дс макс и экспортируешь через б3д пайплайн. Теперь, пишешь в коде следующее:

model=LoadAnimMesh("model.b3d")
   
head=FindChild(model,"head")
   
legs=FindChild(model,"legs")
      
Animate legs,1

While Not KeyHit(1)

      If 
KeyDown(2Then 
         TurnEntity head
,1,0,0
      
EndIf
      If 
KeyDown(3Then 
         TurnEntity head
,-1,0,0
      
EndIf   

   
UpdateWorld
   RenderWorld
   Flip
Wend 
Ну, что-то вроде этого.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
strayhnd (30.06.2010)
Старый 24.06.2010, 17:02   #9
strayhnd
Оператор ЭВМ
 
Регистрация: 09.06.2010
Сообщений: 21
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Управляемая голова во время анимации

У меня анимация работает только если анимировать основную модель, а когда я пытаюсь анимировать какую-нибудь часть модели, получаю ошибку "Entity has no animation".

Тоесть это работает:
model=LoadAnimMesh("model.b3d"
Animate model,

а это не работает (Entity has no animation):
model=LoadAnimMesh("model.b3d"
legs=FindChild(model,"legs"
Animate legs,
В чем может быть проблема? Если в экспорте, тогда почему в первом случае анимация проигрывается?
(Offline)
 
Ответить с цитированием
Старый 27.06.2010, 22:36   #10
Coks
Знающий
 
Регистрация: 29.05.2007
Сообщений: 227
Написано 126 полезных сообщений
(для 312 пользователей)
Ответ: Управляемая голова во время анимации

Сообщение от DeeJex Посмотреть сообщение
а смысл если ошибка очевидна?
Теория немного отличается от практики. Я попробовал так - у меня не получилось. Если предоставишь работающий код буду благодарен
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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