forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   AnimMesh (http://forum.boolean.name/showthread.php?t=9212)

Dakar 20.09.2009 18:23

AnimMesh
 
Вообщем парни такая трабла мож кто знает в чом загвоздка:

Есть Анимированая модел (b3d), анимируется, в модели есть чилд "Gun"
далее ищю в модельки этот чилд, нахожу всё нормально, потом делаю так:

Gun_P=CreateCube (Gun)

Всё Gun_P создается с координатами "Gun", но он, не повторяет анимацию!

В чём проблема?!

Заранее спасибо за ответы!

Dakar 20.09.2009 19:06

Ответ: AnimMesh
 
Вод часть кода на всякий пожарный:

Код:

;ищем по именам чайлдов
For c=1 To CountChildren(Gun_Mod)
  Gun=GetChild(Gun_Mod,c)
      If Instr (EntityName(Gun),"GUN")
        Gun_P=CreateCube (Gun) ; Создаём
      endif
next


Raion 20.09.2009 19:25

Ответ: AnimMesh
 
может нужно парент использовать

EntityParent Gun_P,gun
positionentity Gun_P,0,0,0
rotateentity Gun_P,0,0,0

Dakar 20.09.2009 19:30

Ответ: AnimMesh
 
Цитата:

Сообщение от Raion (Сообщение 119189)
может нужно парент использовать

Так тоже пробывал ноль имоций, килограм призрений, не прёт ((

tormoz 20.09.2009 20:10

Ответ: AnimMesh
 
Значит у пушки не меняются координаты при анимации
наверно ее центр не в геометрическом центре пушки стоит
лучше всего выдергивай нужную кость и к ней привязывай.
или отцентрируй пушку в максе (тога и анимацию придется пределывать)

Dakar 20.09.2009 20:34

Ответ: AnimMesh
 
Привязывал и к костям и к чему уже тока не привязывал.

косяк вообще какойто короче пипилайн показывает что мол всё круто анимирую, в блитз модельку гружу, хер вам (((

проверяю на чилды в ручном режиме и вообще глаза выкатились, есть всё кроме костей О_о хотя прорисовку костей тоже поставил


Я вот на что уже грешить начал у мну блитз v 1.91 мож в этом косяк? ну по крайне мере в эбауте так написанно а вообще он какойто не отмира сего из запчестей собран )))

Dakar 20.09.2009 22:11

Ответ: AnimMesh
 
Вообщем расковырял я сие беспредельство )))

Оказывается вся "бага" из за пиплайна, для того чтоб вся анимация стала прогоняться а не отдельная нё часть модельку надо прогнать через пиплайновский Extensions

Так что теперь я всё в курсе с анимацие, если у кого возникнут проблемы то пиши расскажу дословно где собака порылась ))


главное изачальная то анимация на ура работает но стоит добавить обьект то всё кранты, зачем они так замутили тока вот непойму ((

Но да ладно, главное работает ))

is.SarCasm 20.09.2009 23:25

Ответ: AnimMesh
 
У меня вопрос но не совсем по этой теме? У меня между последним и первым кадром стоит пауза, как от неё избавится?

ABTOMAT 21.09.2009 00:04

Ответ: AnimMesh
 
Цитата:

Сообщение от Igorian (Сообщение 119236)
У меня вопрос но не совсем по этой теме? У меня между последним и первым кадром стоит пауза, как от неё избавится?

Косяк, видимо в самой анимации, а не в блицевом коде. Если нет исходников модели *.max, то никак.

Dakar 21.09.2009 07:30

Ответ: AnimMesh
 
Цитата:

Сообщение от Igorian (Сообщение 119236)
У меня вопрос но не совсем по этой теме? У меня между последним и первым кадром стоит пауза, как от неё избавится?

Попробуй зделать так извлеки анимацию но без первого или последнего кадра вот примерчик

Код:

ExtractAnimSeq( entity,first_frame,last_frame[,anim_seq] )
Параметры
entity - указатель объекта
first_frame - первый кадр последовательности
last_frame - последний кадр последовательности
anim_seq (не обязательно) - с какого номера начинать нумерацию секций. Обычно (и по умолчанию) используется 0. 

Описание
Эта команда позволяет Вам организовать анимацию в стиле формата MD2. Она выделяет указанную последовательность кадров для последующего использования с командой Animate. 

Пример
mesh=LoadAnimMesh( base_mesh$ ) ;одна сплошная секция анимации номер 0.
ExtractAnimSeq( mesh,0,30 ) ;выделим и добавим секцию номер 1: кадры 0...30 - 'бег'
ExtractAnimSeq( mesh,31,40 ) ;выделим и добавим секцию номер 2: кадры 31...40 - 'прыжок' ит.д. и т.п...

Animate mesh,3,1,2 ;проиграем один раз анимацию прыжка


is.SarCasm 21.09.2009 10:14

Ответ: AnimMesh
 
От этого стало ещё хуже (ваще терминатор с вирусами). Короч я обречен :(

Dakar 21.09.2009 11:59

Ответ: AnimMesh
 
Цитата:

Сообщение от Igorian (Сообщение 119269)
От этого стало ещё хуже (ваще терминатор с вирусами). Короч я обречен :(

Хмм странно должно было пойти, а анимация костная?


Пришли кусочек кода там где програжаешь анимацю, и сколько всего кадров в ствоей модели.


А вообще попробуй зделать так чтоб провалов анимации небыло промути вот такую весчь.

Код:

Terminator=LoadAnimMesh("Terminator.b3d")

BEG=LoadAnimSeq (Terminator,"Terminator.b3d")

Animate Terminator,2,0.3,BEG,10 ;- тут тебя интересует последний параметр тот что 10, поэксперементируй


is.SarCasm 22.09.2009 17:01

Ответ: AnimMesh
 
люди в общем бред полный вырезай кадры хоть из милки хоть в коде все равно пауза перепробовал все. Есть ещё какие не будь программы по анимациям с которыми все нормально работает.(кроме макса) Вот например подойдет ли мне это "CharacterFX" (так помню где то встретил в тексте)

Dakar 22.09.2009 17:31

Ответ: AnimMesh
 
Цитата:

Сообщение от Igorian (Сообщение 119386)
люди в общем бред полный вырезай кадры хоть из милки хоть в коде все равно пауза перепробовал все. Есть ещё какие не будь программы по анимациям с которыми все нормально работает.(кроме макса) Вот например подойдет ли мне это "CharacterFX" (так помню где то встретил в тексте)

Можно конечно заюзать blender 3D + плюшка, но а так вообще скинь модельку я попробую и скажу что по чём

Damp 22.09.2009 20:48

Ответ: AnimMesh
 
Дакар, такое бывает (первый пост), когда к наскиненной модели приделываешь что-то, оружие например.
В таком случае SceneRoot не снимается в пиплайне и в блице бдолжно быть 2 Animate, наскиненного чайлда и самого LoadAnimMesh.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot