forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Костная Анимация в Blitz3D (http://forum.boolean.name/showthread.php?t=12411)

pitonms 23.04.2010 20:03

Костная Анимация в Blitz3D
 
Здравствуйте, как можно реализовать такое ???
Впервые делаю анимацию в 3Ds Max и конвентирую в B3D
Скажите как пожалуйста и если есть исходник дайте пожалуйста :"(

ABTOMAT 23.04.2010 20:05

Ответ: Костная Анимация в Blitz3D
 
http://blitz-coder.narod.ru/text/export/export.htm

pitonms 23.04.2010 21:01

Ответ: Костная Анимация в Blitz3D
 
Код:

Function create_hero(x#,y#,z#)
hero=LoadAnimMesh("models/pig.b3d")
cam=CreateCamera(hero)
ScaleEntity hero,0.03,0.03,0.03
RotateMesh hero,0,-90,0
PositionEntity cam,0,5,-100
PositionEntity hero,x#,y#,z#
EntityType hero,herot
run=LoadAnimSeq (hero,"models/pig_run.B3D")
End Function

Function update_hero()
 If KeyDown(200) MoveEntity hero,0,0,1.5 And AnimSeq=0 Animate hero,1,0.1,run,0
 If KeyDown(208) MoveEntity hero,0,0,-1.5
 If KeyDown(203) TurnEntity hero,0,1,0
 If KeyDown(205) TurnEntity hero,0,-1,0
End Function

Чето не работает

ABTOMAT 23.04.2010 21:19

Ответ: Костная Анимация в Blitz3D
 
Попробуй найди тогда скин модели и анимейт на него

pitonms 24.04.2010 11:08

Ответ: Костная Анимация в Blitz3D
 
ППЦ никак (((
уже два дня долбаюсь и никак а без анимации игра нетак смотрится

Reizel 24.04.2010 11:23

Ответ: Костная Анимация в Blitz3D
 
Чувак стукай в аську расскажу все подробно))) ибо сам недавно столкнулся с этой хренью
409479584

pitonms 24.04.2010 18:18

Ответ: Костная Анимация в Blitz3D
 
Код:

If KeyDown(200) MoveEntity hero,0,0,1.5 And AnimSeq=0 Animate hero,1,0.1,run,0
А как сделать так чтобы при зажатии например W было так чтобы игрок ходил и анимация Проигрывалась нормально с повторением

Nex 25.04.2010 08:59

Ответ: Костная Анимация в Blitz3D
 
Попробуй так сделать..
Код:

If KeyDown (200) then
  MoveEntity hero,0,0,1
  If AnimSeq (hero)=0 then Animate hero,1,0.1,run,0
EndIf


pitonms 25.04.2010 11:44

Ответ: Костная Анимация в Blitz3D
 
Цитата:

Сообщение от Nex (Сообщение 145417)
Попробуй так сделать..
Код:

If KeyDown (200) then
  MoveEntity hero,0,0,1
  If AnimSeq (hero)=0 then Animate hero,1,0.1,run,0
EndIf


Неработает, анимация идет только 1 раз

pitonms 25.04.2010 15:38

Ответ: Костная Анимация в Blitz3D
 
Помогите пожалуйста кодом как уменьшить AnimMesh
и как сделать так чтобы при нажитии клавиши ап производилась анимация с повторениями, я уже 3 дня мозги ломаю

Артем Валерьевич 25.04.2010 16:07

Ответ: Костная Анимация в Blitz3D
 
блицевский семпл Castle тебе в помощь

Nex 25.04.2010 16:11

Ответ: Костная Анимация в Blitz3D
 
По поводу уменьшить.. Нужно пробегаться по всем чилдам и им менять размер..
По поводу анимации попробуй без If AnimSeq (hero)=0 и вообще надо семплы внимательно смотреть...

pitonms 25.04.2010 16:19

Ответ: Костная Анимация в Blitz3D
 
И где там написано?

Артем Валерьевич 25.04.2010 16:30

Ответ: Костная Анимация в Blitz3D
 
был бы ты рядом, ткнул бы тебя носом а так только на расстоянии могу.

Код:

If KeyDown(203)        ;left/right
                TurnEntity p\entity,0,6,0        ;turn player left/right
        Else If KeyDown(205)
                TurnEntity p\entity,0,-6,0
        EndIf
       
        If KeyDown(30)                ;forward
                If p\anim_speed<=0
                        p\anim_speed=1.75
                        Animate p\model,1,p\anim_speed
                EndIf
                MoveEntity p\entity,0,0,1
        Else If KeyDown(44)        ;back
                If p\anim_speed>=0
                        p\anim_speed=-1.75
                        Animate p\model,1,p\anim_speed
                EndIf
                MoveEntity p\entity,0,0,-1
        Else If p\anim_speed        ;stop animating
                p\anim_speed=0
                Animate p\model,0
        EndIf


pitonms 25.04.2010 16:38

Ответ: Костная Анимация в Blitz3D
 
у меня нету просто в Blitz примеров


Цитата:

Цитата:

Код:

Function create_hero(x#,y#,z#)
hero=LoadAnimMesh("models/pig.b3d")
cam=CreateCamera(hero)
ScaleEntity hero,0.03,0.03,0.03
RotateMesh hero,0,-90,0
PositionEntity cam,0,5,-100
PositionEntity hero,x#,y#,z#
EntityType hero,herot
run=LoadAnimSeq (hero,"models/pig_run.B3D")
End Function



Как уменьшить модель?

Артем Валерьевич 25.04.2010 16:42

Ответ: Костная Анимация в Blitz3D
 
Если создашь обьект напр. сферу и к ней приаттачишь своего пига, то уменьшая сферу уменьшишь и модель.
Вроде так.

А вообще изначально лучше моделить все в масштабе чтобы потом не скалить в коде

pitonms 25.04.2010 16:45

Ответ: Костная Анимация в Blitz3D
 
Помогите мне вот код из моей игры, уже мозги не работают:
Код:

Function create_hero(x#,y#,z#)
MakeSkyBox()
hero=LoadAnimMesh("models/hero_stop.b3d")
ScaleEntity hero,0.02,0.02,0.02
RotateEntity hero,0,180,0
cam=CreateCamera(hero)
heror=LoadAnimSeq(hero,"models/hero_run.B3D")
PositionEntity cam,0,3,-6
PositionEntity hero,x#,y#,z#
EntityType hero,herot
End Function


Артем Валерьевич 25.04.2010 17:06

Ответ: Костная Анимация в Blitz3D
 
надо поспать и все пройдет.

А ты мне что?
Помочь сможешь тоже?

St_AnGer 25.04.2010 17:33

Ответ: Костная Анимация в Blitz3D
 
Код:

Function create_hero(x#,y#,z#)
    MakeSkyBox()
    herop = CreateSphere()
    EntityAlpha herop, 0
    hero=LoadAnimMesh("models/hero_stop.b3d", herop)
    ScaleEntity herop,0.02,0.02,0.02
    RotateEntity herop,0,180,0
    cam=CreateCamera(herop)
    heror=LoadAnimSeq(hero,"models/hero_run.B3D")
    PositionEntity cam,0,3,-6
    PositionEntity herop,x#,y#,z#
    EntityType herop,herot
End Function

Возможно как то так. Все дальнейшие действия будешь делать с объектом herop... Ну кроме анимации. Herop объяви в глобалах где нибудь, а то не сможешь его использовать в дальнейшем вне этой функции (хотя об этом надеюсь ты сам догадался бы).
З.Ы. Совет на будущее - прежде чем тупо давать код на форум посиди часик со справкой блица и поизучай команды.

pitonms 25.04.2010 21:52

Ответ: Костная Анимация в Blitz3D
 
А вот как экспортировать с пиплайном определенные фреймы анимации или как их в коде задействовать ( например с 0 до 25 )

EvilChaotic 25.04.2010 22:06

Ответ: Костная Анимация в Blitz3D
 
Цитата:

Сообщение от pitonms (Сообщение 145479)
А вот как экспортировать с пиплайном определенные фреймы анимации или как их в коде задействовать ( например с 0 до 25 )

ExtractAnimSeq

pitonms 27.04.2010 17:14

Ответ: Костная Анимация в Blitz3D
 
Теперь уже со всем разобрался, осталось сделать так чтобы в состоянии покоя игрок просто стоял, а не опять проигрывалась анимация

FREE MAN 27.04.2010 17:20

Ответ: Костная Анимация в Blitz3D
 
Поставь переменные в каком состоянии находится герой.
смотри пример Blitz3DSamples\Open DNA\Walking

Nex 28.04.2010 09:39

Ответ: Костная Анимация в Blitz3D
 
Вообще на мой взгляд это очень простые вещи и что бы их понять нужно посмотреть примеры. Если примеров нет, то их можно скачать.. (на форуме вроде Squid выкладывал сцылку не давно..
Если интернет не позволяет скачать, то стоит подождать лучших времен когда появится норм интернет...

Артем Валерьевич 28.04.2010 09:48

Ответ: Костная Анимация в Blitz3D
 
У человека нету примеров! см. выше.

Reizel 28.04.2010 10:37

Ответ: Костная Анимация в Blitz3D
 
ага, пока прождешь хорошего нета желание прогать пройдет)

Nex 28.04.2010 10:51

Ответ: Костная Анимация в Blitz3D
 
Цитата:

У человека нету примеров! см. выше.
Цитата:

Если примеров нет, то их можно скачать.. (на форуме вроде Squid выкладывал сцылку не давно.. Если интернет не позволяет скачать, то стоит подождать лучших времен когда появится норм интернет...
;---------------
Цитата:

ага, пока прождешь хорошего нета желание прогать пройдет)
Значит такая судьба...

ABTOMAT 29.04.2010 02:19

Ответ: Костная Анимация в Blitz3D
 
А я учился без примеров
(серьёзно)
Точнее у меня был блиц с урезанным паком примеров, и то большинство из них я просто запустил, поигралсо и выключил.
Делал так:
1. Есть задача (Пример: Когда персонаж атакует, включается анимация: он задирает руку вверх, потом хреначит кулаком. Но у врага урон отнимается в тот момент, когда началась анимация, а нужно чтоб в тот момент когда кулак был в апогее удара)
2. Думаю способ, каким её можно решить (После запуска проверять, с каком кадре находится анимация кулака, если в нужном - то снимать хп у врага)
3. Думаю, есть ли функция, способная это сделать одним махом, ищу в хелпе. (AnimTime)
4. Если нужной функции нет, то разбиваю задачу на составные части (сделать отдельно переменную-счётчик, каждый цикл после запуска анимаци прибавлять её. Если достигла какого-то значения - снимать хп, goto 2, короче, но уже с подзадачей) и goto 3
5. Если ну совсем никак, придумываю обходной путь (goto 2).
По сути во всём процессе пункт 2 - самый важный.
Глупо спрашивать что-то типа "А как сделать чтобы персонаж свистел, пердел, прятал сгущёнку так, чтоб не нашли???"
Кроме вышеописанной задачи есть её 100500 факторов, которые влияют на выбор пути, и этих путей для каждого случая тоже может быть 100500, я могу посоветовать один, а в данном случае лучше будет какой-то другой, и то, что работает в одной игре, совершенно необязательно будет работать в другой. Придумать путь к конкретно своему случаю - задача программиста (а написать код, когда знаешь в деталях какие действия выполняет программа - дело десятое)
Если вы этого не можете, то ничего не получится. Научайте себя. Примеры блица в этом мало помогут. Они - всё равно что кто-то дал вам готовый код (который к своему только пришить белыми нитками). Вот.


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

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