Скорость анимации +
Подскажите как в процессе игры менять скорость анимации модели.
И ещё когда загру жаю модель командой model = LoadMesh() то : texture = LoadTexture() EntityTexture model, texture работает, а если model = LoadAnimMesh() то нет, в чём проблема? |
Re: Скорость анимации +
DMX, нуно каждому чайлду текстуру назначать отдельно, если ты грузишь Аниммешем, т.к. при этом каждый чайлд считается как отдельный объект и назначать текстуры тоже придёцо по отделности, например, если в Максе у тебя были кубик и шар и эти объекты назывались Box01 и Sphere01 то код будит примерно таким:
model = LoadAnimMesh() texture = LoadTexture() EntityTexture FindChild(model, "Box01"), texture EntityTexture FindChild(model, "Sphere01"), texture Так же хочу добавить что если ты положишь в папку с 3ds-кой или b3d-шкой модели (советую юзать b3d, 3ds не поддерживает ГС, костную анимацию и много других полезностей) все текстуры, заюзанные в Максе при её создании то при загрузке этой модели командой loadanimmeah или loadmesh все текстуры загрузятся автоматически, ничего отельно текстурить не надо ;) Что касается смены скорости анимации = то юзай UpdateWorld(число - чем больше тем быстрее всё анимируется) Так же хотел добасить что называй тему на форуме чтобы она ясно отражала её суть. Например, "Как затекстурить AnimMesh и как поменять скорость анимации" ,а то "Скорость анимации +" не совсем понятно хотя тоже норманна, это я уже придираюсь ;) А вот как поменять скорость анимации для каждого отдельного объекта - мну тоже интересно. |
Re: Скорость анимации +
DMX, а не проще затекстурить модель в редакторе, а потом ее экспортировать... тогда не надо отдельно текстуру грузить, она будет затекстуриной (главное координацию самой текстуры с экспортированой моделью сохранить)
На счет скорости.. Animate entity[,mode][,speed#][,sequence][,transition#] кури [,speed#]. Можно задать переменную.. и менять ее значение в зависимости от условий... |
Re: Скорость анимации +
ы, а вот на этот вопрос кто ответит?
как поменять скорость анимации только одной модели в момент прохождения анимации? |
Re: Скорость анимации +
шмотря в каком формаде... мине больше вшего нравитшо мд2
|
Re: Скорость анимации +
b3d
|
Re: Скорость анимации +
Leito, как понять только одной модели? у тебя же для каждой модели отдельная анимация... да даже если одна (например надо чтобы у войска была одна анимация но проигрывалась с разной скоростью)...
Например войско - список Код:
Type muzik Код:
Function CreateVoisko(tn) Код:
For m.muzik=Each telo |
Re: Скорость анимации +
Maestro,
ты вот это не прочитал Цитата:
|
Re: Скорость анимации +
Global m=1,n=1
В главном цыкле: Код:
if m=1 then ЗЫ: покапайся в хелпе, может что-то типа AnimTime - то, что нужно. |
Re: Скорость анимации +
Maestro, не гадай, она начнется заново. )
мне это не столь важно чтобы в хелп лазить. так что никто не знает? очень интересная штука ведь... |
Re: Скорость анимации +
Так я всё равно не вкурил, мне надо чтобы при нажатии кнопок + или - в процессе игры менялась скорость анимации модели. Кто не понял вот код того что я имел в виду. (я только показал что я имел в виду.)
Graphics3D 800,600,32,2 SetBuffer BackBuffer() SeedRndMilliSecs() anim_speed# = 0.1 dt# = 0.01 camera = CreateCamera() CameraClsColor camera,0,64,128 cube = CreateCube() PositionEntity cube,0,-1,5 light = CreateLight() While Not KeyHit(1) time = MilliSecs() TurnEntity cube,1,0,-0.1 IfKeyDown(74) anim_speed# = anim_speed# - dt# * .01 Ifanim_speed# < 0.1Thenanim_speed# = 0.1 ElseIfKeyDown(78) anim_speed# = anim_speed# + dt# * .01 Ifanim_speed# > 0.9 Thenanim_speed# = 0.9 EndIf UpdateWorld RenderWorld Text 5, 5, "Anim speed : " + Int(anim_speed# * 100.0) / 100.0 + " ('+' or '-')" Flip to_dt# = (MilliSecs() - time) / 60.0 dt# = dt# + (to_dt# - dt#) * .1 Wend End |
Re: Скорость анимации +
Во время, можно, сделать функцию, которая будет создавать временный Sequence и запускать его, Sequence же, будет начинать с текущего кадра и кончаться на максимальный кадр корневой Sequence. Если играет временная, тогда по навому прохождению анимации уже удалять её и запускать корневую.
|
Re: Скорость анимации +
А можна кодик этой функции?
|
Re: Скорость анимации +
:) Писать нужно.
Вобщем теория: Есть класс: Type TTmpSeq Field Sequence End Type Далее есть функция, меняющая скорость анимации, и в её содержании будет Extract анимации из текущего играющей последовательности с текущего по последний кадр, и запускаем его с новой скоростью, делее, если играеться или закончилась игра этой очереди, тогда удалять, только вот функции удаления очереди я чтото не нашёл ;), если не прокатит FreeEntity, тогда плоха будет :). Странно, а чего Марк не сделал функцию удаляющую последовательность? В общем и всё ;) |
Re: Скорость анимации +
OK. А нет функции для изменения размеров модели в реальном времени.
|
Часовой пояс GMT +4, время: 02:42. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot