forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   CWoGD-2 (http://forum.boolean.name/forumdisplay.php?f=131)
-   -   Armored Fury (http://forum.boolean.name/showthread.php?t=11056)

moka 09.01.2010 03:17

Ответ: Armored Fury
 
Данил, не суди по тому как выглядит. Суди по тому какие чувства ты испытываешь от геймплая, основывась технической части игры.
Ты составляешь и не малую конкуренцию.
Представь, ты нафичуешь свой конкурсный проект, медией с Armored Fury, и шейдерами, что думаешь, тогда кто победит? ;)
Не зацикливайся на том, что вкусная обёртка - может значить всё. Мы ещё не вкусили геймплая. Да он может быть лучше, или хуже твоего в разных аспектах, но это мы узнаем лишь потом :)

Mr_F_ 09.01.2010 16:09

Ответ: Armored Fury
 
Цитата:

А что именно - используя функцию нахождения Y на ландшафте, крутить кости ног таким образом, чтобы его ступня, ходила по вертикали - части ниже колена, и выше, сгибались соответствующим образом для этого.
инверсной кинематикой вроде зовётся (или всё проще?)

EvilChaotic 09.01.2010 16:18

Ответ: Armored Fury
 
Цитата:

Сообщение от Mr_F_ (Сообщение 132798)
инверсной кинематикой вроде зовётся (или всё проще?)

Именно так, в ксорсе такого пока что нету. И я не вижу других вариантов правильно поднять ногу со всеми ее частями на терраин. Так что придется пережить.

Цитата:

Сообщение от NitE (Сообщение 132682)
неубедительно... предоставлю "бесплатную" версию ради новых уровней.

Программа L3DT, кряка нету. Если ты реально предоставиш фулл. Где можно спиливать на части терраин то будут тебе еще карты.

moka 09.01.2010 16:42

Ответ: Armored Fury
 
Цитата:

Сообщение от Mr_F_ (Сообщение 132798)
инверсной кинематикой вроде зовётся (или всё проще?)

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

Разве кости у анимированых моделей нельзя двигать после анимации? В Б3д можно было..

H@NON 09.01.2010 18:56

Ответ: Armored Fury
 
Поофтопю про инверсную кинематику. Кому интересно, то вот когда-то писал пример, ссылка на статью прилагается
Код:

;====================================================================
; Project: Invers Kinematics for rag doll
; Version: 0.01b
; Author: H@non
; Email: [email protected]
; Copyright: © H@non, 2009 г.
; Description:    http://www.gamedev.ru/articles/?id=30035
;                книга Рика Пэрента
; http://number-none.com/product/IK%20with%20Quaternion%20Joint%20Limits/index.html               
;====================================================================


Graphics3D 800, 600, 32, 2
SetBuffer BackBuffer()

Global Camera=CreateCamera ()
MoveEntity Camera, 0, 0, -30

Local lit = CreateLight()
RotateEntity lit, 45, 45, 0

Const GameUPS=60 ; Updates per second
Local Period=1000/GameUPS
Local FrameTime=MilliSecs()-Period

Local Tween#, Ticks,i,Remaining,StartTime,Elapsed


Global joint1 = CreateCube()
ScaleMesh joint1, 1.5, 1.5, 1.5
EntityColor joint1, 0, 255, 0
PositionEntity joint1, -5,0,0

Global bone1 = CreateCube(joint1)
ScaleMesh bone1, 5, 1, 1
PositionMesh bone1, -5, 0, 0
MoveEntity bone1, 10, 0, 0
EntityParent bone1, joint1

Global joint2 = CopyMesh(joint1,bone1)
EntityColor joint2, 0, 255, 0

Global bone2 = CopyMesh(bone1, joint2)
MoveEntity bone2, 10, 0, 0

Global target = CreateCube()
EntityColor target, 255, 0, 0
PositionEntity target, 7, 10, 5

While Not KeyHit(1)
   
    StartTime = MilliSecs()
   
    Repeat
        Elapsed=MilliSecs()-FrameTime
    Until Elapsed
   
    Ticks=Elapsed / Period
    Tween=Float(Elapsed Mod Period)/Float(Period)
   
    For i=1 To Ticks
        FrameTime=FrameTime+Period
        If i=Ticks Then
            CaptureWorld
        End If
       
        Updatebones()
       
        MoveCamera(Camera)
       
        UpdateWorld
    Next
    RenderWorld Tween
   
    Remaining = Period - (MilliSecs() - StartTime)
    If Remaining > 1 Then
        Delay (Remaining-1) ; Free some CPU time
    End If
   
    Flip 0
   
Wend

End

Function MoveCamera(camera, speed#=0.5)
    If MouseDown(1) Then
        Local mxs# = MouseXSpeed()
        Local mys# = MouseYSpeed()
        If MouseHit(1) Then
            mxs = 0
            mys = 0
        EndIf
        RotateEntity camera, EntityPitch(camera)+mys*0.5, EntityYaw(camera)-mxs*0.5, 0
        MoveMouse 400, 300
    EndIf
   
    Local up = KeyDown(200) Or KeyDown(17)
    Local down = KeyDown(208) Or KeyDown(31)
    Local Left = KeyDown(203) Or KeyDown(30)
    Local Right = KeyDown(205) Or KeyDown(32)
   
    MoveEntity camera, (Right-Left)*speed, 0, (up-down)*speed
End Function

Function Updatebones()
    Local Rx# = Cos(EntityRoll(joint1,1)+90)
    Local Ry# = Sin(EntityRoll(joint1,1)+90)
   
    Local Fx# = EntityX(target,1) - EntityX(bone2,1)
    Local Fy# = EntityY(target,1) - EntityY(bone2,1)
   
    Local k# = 0.2
   
    Local torque1# = (Fx*Rx+Fy*Ry)*k
   
    ;If torque1 > 1 Then
    ;    torque1 = 1
    ;ElseIf torque1 < -1 Then
    ;    torque1 = -1
    ;EndIf
       
   
    ;TurnEntity joint1, 0, 0, torque1, True
   
   
    Local Rz# = Sin(EntityPitch(joint1,1)+90)
    Ry# = Sin(EntityPitch(joint1,1)+90)
   
    Local Fz# = EntityZ(target,1) - EntityZ(bone2,1)
    Fy# = EntityY(target,1) - EntityY(bone2,1)
   
    Local torque2# = (Fz*Rz+Fy*Ry)*k
   
    ;TurnEntity joint1, torque1, 0, 0, True
    RotateEntity joint1, EntityPitch(joint1,1), EntityYaw(joint1,1)+torque2, EntityRoll(joint1,1)+torque1
   
    k# = 0.2
   
    Rx# = Cos(EntityRoll(joint2,1)+90)
    Ry# = Sin(EntityRoll(joint2,1)+90)
   
    Fx# = EntityX(target,1) - EntityX(bone2,1)
    Fy# = EntityY(target,1) - EntityY(bone2,1)
   
    torque1# = (Fx*Rx+Fy*Ry)*k
   
    ;If torque2 > 1 Then
    ;    torque2 = 1
    ;ElseIf torque2 < -1 Then
    ;    torque2 = -1
    ;EndIf
   
    TurnEntity joint2, 0, 0, torque2 , True
   
    Rz# = Sin(EntityPitch(joint2,1)+90)
    Ry# = Sin(EntityPitch(joint2,1)+90)
   
    Fz# = EntityZ(target,1) - EntityZ(bone2,1)
    Fy# = EntityY(target,1) - EntityY(bone2,1)
   
    torque2# = 0;(Fz*Rz+Fy*Ry)*k
   
    ;If torque2 > 1 Then
    ;    torque2 = 1
    ;ElseIf torque2 < -1 Then
    ;    torque2 = -1
    ;EndIf
   
    RotateEntity joint2, EntityPitch(joint2,0)+torque2, EntityYaw(joint2,0), EntityRoll(joint2,0)+torque1, False
   
    ;TurnEntity joint2, torque2, 0, 0, True
End Function


ABTOMAT 10.01.2010 04:07

Ответ: Armored Fury
 
Цитата:

Разве кости у анимированых моделей нельзя двигать после анимации? В Б3д можно было..
А в Ксорсе нельзя.
Это не баг, это ФИЧА! :super:Потому что крутить кости после анимации - это неправильно, никому не надо, могло прийти в голову только дуракам и вообще.
Ну и так далее (см. комменты афтаров по поводу подгрузки анимаций из файла без скина)

SBJoker 10.01.2010 13:17

Ответ: Armored Fury
 
ЕМНИП авторы говорили что скэйлить кости могло прийто в голову тока дуракам, насчет вращения непомню такова.

Knightmare 10.01.2010 14:41

Ответ: Armored Fury
 
Цитата:

Сообщение от ABTOMAT (Сообщение 132880)
А в Ксорсе нельзя.
Это не баг, это ФИЧА! :super:Потому что крутить кости после анимации - это неправильно, никому не надо, могло прийти в голову только дуракам и вообще.
Ну и так далее (см. комменты афтаров по поводу подгрузки анимаций из файла без скина)

Если бы всякие остряки смотрели примеры официальные, они бы знали что это легко делается. Ну и рэгдолл как бэ, да. При желании инвесная кинематика реализуема, но на уровне движка ее нет.
В Хорсе были выпилены некоторые идиотизмы блитза и запилены свои фишки. Что характерно - когда что-то выпилено (нафиг не нужное чаще всего, а используемое как костыль) все срут кирпичами типа какие мы негодяи и т.д. и т.п.

Mr_F_ 10.01.2010 16:06

Ответ: Armored Fury
 
Цитата:

Именно так, в ксорсе такого пока что нету. И я не вижу других вариантов правильно поднять ногу со всеми ее частями на терраин. Так что придется пережить.
ну естественно что в ксорсе её нет, это ж графический двиг в общем.
самому писать надо.
двигать кости во время анимации можно.
H@non, спс, интересно это заценить.

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

...

хз )
но придумать можно

ABTOMAT 10.01.2010 16:21

Ответ: Armored Fury
 
Цитата:

Что характерно - когда что-то выпилено (нафиг не нужное чаще всего, а используемое как костыль) все срут кирпичами типа какие мы негодяи и т.д. и т.п.
Все срут кирпичами когда вы говорите что это могло прийти в голову только дуракам.
* Может насчёт движения костей во время анимации и не прав: не обновлял двиг с сентября, может, авторы уже запилили.

Knightmare 10.01.2010 16:26

Ответ: Armored Fury
 
Цитата:

Сообщение от ABTOMAT (Сообщение 132951)
* Может насчёт движения костей во время анимации и не прав: не обновлял двиг с сентября, может, авторы уже запилили.

Я еще в армии запилил это. В марте прошлого года.

viper86 11.01.2010 10:34

Ответ: Armored Fury
 
Цитата:

Сообщение от Knightmare (Сообщение 132920)
...Что характерно - когда что-то выпилено (нафиг не нужное чаще всего, а используемое как костыль) все срут кирпичами типа какие мы негодяи и т.д. и т.п.

Возможно я не прав, если что - извините. Вы продаёте свой двиг за деньги, то есть вы пишете для людей. Поэтому если все "срут кирпичами", то значит им это нужно. А вы делаете только то, что вам нужно и убираете, то что вам не угодно (но всем остальным необходимо).
Тем более, "срут" все, не один или два человека, а ВСЕ. Я думаю, к ним нужно хотя бы прислушаться, а не пытаться переубедить.

EvilChaotic 11.01.2010 20:46

Ответ: Armored Fury
 
Цитата:

Сообщение от viper86 (Сообщение 133049)
Тем более, "срут" все, не один или два человека, а ВСЕ.

Ну не знаю. Меня пока что все устраивает.

Mr_F_ 12.01.2010 15:00

Ответ: Armored Fury
 
Цитата:

Вы продаёте свой двиг за деньги, то есть вы пишете для людей. Поэтому если все "срут кирпичами", то значит им это нужно. А вы делаете только то, что вам нужно и убираете, то что вам не угодно
уже был ответ ->
Цитата:

А все просто - с блитзерами жизни нет. Оно конечно хорошо прдать движок. Но ведь нужен саппорт. А они только и умеют что ипать моск всякой чушью и ничего не делать в итоге (проекты которые доживут до релиза я могу по пальцам пересчитать, увы). Грубо говоря мы разочаровались в этом направлении.

Nex 12.01.2010 16:00

Ответ: Armored Fury
 
А в других направлениях думаете изменится?
Везде есть люди хотящие сделать мего-игру при этом ничего не умея делать...


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

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