|
3D-программирование Вопросы, касающиеся программирования 3D мира |
20.10.2007, 22:26
|
#1
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
модель из Желе
всем привет
не подскажете как сделать модель
как бы из желе , ну чтоб так бы треслась забавно)
может физику подкрутить ?
помогите оч хочеться)
|
(Offline)
|
|
20.10.2007, 23:38
|
#2
|
|
Re: модель из Желе
Смотри PhysX -> Soft Body
|
|
|
21.10.2007, 00:35
|
#3
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Re: модель из Желе
Пасибо щас поищу!
а может можно и без физы , а то надо всего то
, а подключать большую либу (
в теорие расскажите плиз как это сделать , я попробую
наверно точками шевелить? но у меня не оч получается гладко)
а физика это в том случае если у самого не получеться(
ПС не потеме , а как можно связаться с Рендером он вроде физикс делал , если ему не трудно может он мне расскажит [надеюсь]
или хотяб ключ к физике даст !
___________
а вот еще скачал отсюда http://rubux.net/content/blogsection/1/5/
физикс , а ни один пример не работает
причина что у меня нет ключа?
или в том что у меня руки пот это дело не заточены
пишет ошибу драйвер нот фонд , и еще какуето...
|
(Offline)
|
|
21.10.2007, 01:32
|
#4
|
Дэвелопер
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений (для 17 пользователей)
|
Re: модель из Желе
зачем чтото спрашивать када пример есть?
|
(Offline)
|
|
21.10.2007, 01:38
|
#5
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Re: модель из Желе
зачем чтото спрашивать када пример есть?
|
что то не понял это к чему?
написал же что примеры у меня не работают т.к.
видимо у меня нет ключа!
и всеже я пока надеюсь что удастся сделать без подключение
физики (
|
(Offline)
|
|
21.10.2007, 04:59
|
#6
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: модель из Желе
;********************DEMO 2****************
Graphics3D 640,480,32
HidePointer
;gravitation
Global grav_x#= 0
Global grav_y#=-0.08
Global grav_z#= 0
;hohe des bodens
Global ground%=-5
Global camera=CreateCamera()
PositionEntity camera,0,1,-24
Global light=CreateLight()
LightColor light,200,200,200
;spiegelnder untergrund
plane=CreatePlane()
PositionEntity plane,0,ground,0
EntityColor plane,20,20,100
EntityAlpha plane,0.85
mirror=CreateMirror(plane)
MoveEntity mirror,0,0.01,0
Type mass
Field x#,y#,z#
Field xs#,ys#,zs#
Field xo#,yo#,zo#
Field fix%
End Type
Type spring
Field m1%,m2%
Field l#
End Type
Type face
Field surf%
Field m1%,m2%,m3%,m4%
Field v1%,v2%,v3%,v4%
End Type
Dim cube(6)
Dim texture(6)
Function add_mass(x#,y#,z#,f%)
m.mass=New mass
m\x=x
m\y=y
m\z=z
m\fix=f
Return Handle(m)
End Function
Function add_spring(m1%,m2%)
ma1.mass = Object.mass(m1)
ma2.mass = Object.mass(m2)
s.spring = New spring
s\m1 = m1
s\m2 = m2
s\l = ( ( ma1\x - ma2\x )^2 + ( ma1\y - ma2\y )^2 + ( ma1\z - ma2\z )^2 )
Return Handle(s)
End Function
Function add_face(mesh%, m1%,m2%,m3%,m4%)
ma1.mass = Object.mass(m1)
ma2.mass = Object.mass(m2)
ma3.mass = Object.mass(m3)
ma4.mass = Object.mass(m4)
f.face=New face
f\surf=CreateSurface(mesh)
f\m1=m1
f\m2=m2
f\m3=m3
f\m4=m4
f\v1=AddVertex (f\surf,ma1\x,ma1\y,ma1\z, 0,0)
f\v2=AddVertex (f\surf,ma2\x,ma2\y,ma2\z, 1,0)
f\v3=AddVertex (f\surf,ma3\x,ma3\y,ma3\z, 1,1)
f\v4=AddVertex (f\surf,ma4\x,ma4\y,ma4\z, 0,1)
AddTriangle f\surf,f\v1,f\v2,f\v3
AddTriangle f\surf,f\v1,f\v3,f\v4
End Function
Function update_object()
;update federn
For t=1 To 3
For s.spring = Each spring
m1.mass = Object.mass(s\m1)
m2.mass = Object.mass(s\m2)
lx# = ( m1\x + m1\xs ) - ( m2\x + m2\xs )
ly# = ( m1\y + m1\ys ) - ( m2\y + m2\ys )
lz# = ( m1\z + m1\zs ) - ( m2\z + m2\zs )
lg# = ( lx * lx + ly * ly + lz * lz )
ld# = 0.2 * ( s\l - lg ) / lg
lx = ( lx * ld )
ly = ( ly * ld )
lz = ( lz * ld )
m1\xs = m1\xs + lx
m1\ys = m1\ys + ly
m1\zs = m1\zs + lz
m2\xs = m2\xs - lx
m2\ys = m2\ys - ly
m2\zs = m2\zs - lz
Next
Next
;update massen
For m.mass = Each mass
m\xo = m\x
m\yo = m\y
m\zo = m\z
If ( m\y + m\ys ) > ground Then
m\xs = m\xs + grav_x
m\ys = m\ys + grav_y
m\zs = m\zs + grav_z
If m\fix = False Then
m\x = m\x + m\xs
m\y = m\y + m\ys
m\z = m\z + m\zs
Else
m\xs = 0
m\ys = 0
m\zs = 0
EndIf
Else
m\y = ground
m\xs = 0
m\ys = 0
m\zs = 0
EndIf
Next
;update faces
For f.face = Each face
ma1.mass = Object.mass(f\m1)
ma2.mass = Object.mass(f\m2)
ma3.mass = Object.mass(f\m3)
ma4.mass = Object.mass(f\m4)
VertexCoords f\surf,f\v1,ma1\x,ma1\y,ma1\z
VertexCoords f\surf,f\v2,ma2\x,ma2\y,ma2\z
VertexCoords f\surf,f\v3,ma3\x,ma3\y,ma3\z
VertexCoords f\surf,f\v4,ma4\x,ma4\y,ma4\z
Next
For t=0 To 5
;UpdateNormals cube(t)
Next
End Function
Function check_mouse()
For m.mass=Each mass
If m\y<=ground Then floor_hit=True:Exit
Next
If floor_hit Then
mx# = MouseXSpeed() * 0.02
my# = MouseYSpeed() * 0.02
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
If MouseHit(1) Then mz#=15
m.mass = Last mass
m\xs = m\xs + mx
m\zs = m\zs - my
m\ys = m\ys + mz
EndIf
End Function
Function Create_Cube()
;massenpunkte festlegen
m0 = add_mass (-5, 5,-5, False)
m1 = add_mass ( 5, 5,-5, False)
m2 = add_mass ( 5,-5,-5, False)
m3 = add_mass (-5,-5,-5, False)
m4 = add_mass (-5, 5, 5, False)
m5 = add_mass ( 5, 5, 5, False)
m6 = add_mass ( 5,-5, 5, False)
m7 = add_mass (-5,-5, 5, False)
mm = add_mass ( 0, 0, 0, False)
;massen mit federn verbinden
add_spring (mm,m0)
add_spring (mm,m1)
add_spring (mm,m2)
add_spring (mm,m3)
add_spring (mm,m4)
add_spring (mm,m5)
add_spring (mm,m6)
add_spring (mm,m7)
add_spring (m0,m1)
add_spring (m1,m2)
add_spring (m2,m3)
add_spring (m3,m0)
add_spring (m4,m5)
add_spring (m5,m6)
add_spring (m6,m7)
add_spring (m7,m4)
add_spring (m0,m4)
add_spring (m1,m5)
add_spring (m2,m6)
add_spring (m3,m7)
add_spring (m0,m6)
add_spring (m1,m7)
add_spring (m5,m3)
add_spring (m4,m2)
add_spring (m0,m2)
add_spring (m1,m3)
add_spring (m4,m6)
add_spring (m5,m7)
add_spring (m0,m7)
add_spring (m3,m4)
add_spring (m1,m6)
add_spring (m5,m2)
add_spring (m0,m5)
add_spring (m1,m4)
add_spring (m2,m7)
add_spring (m3,m6)
;wurfelmesh + texturen erstellen
SetFont LoadFont("arial",300)
For t=0 To 5
cube(t)=CreateMesh()
EntityFX cube(t),4
EntityShininess cube(t),0.5
texture(t)=CreateTexture(256,256)
SetBuffer TextureBuffer(texture(t))
Color Rnd(0,255),Rnd(0,255),Rnd(0,255)
ClsColor ColorRed(),ColorGreen(),ColorBlue():Cls
Color 255-ColorRed(),255-ColorGreen(),255-ColorBlue()
Text 128,128,t+1,1,1
Next
add_face (cube(0),m0,m1,m2,m3)
add_face (cube(1),m6,m5,m4,m7)
add_face (cube(2),m5,m6,m2,m1)
add_face (cube(3),m0,m3,m7,m4)
add_face (cube(4),m4,m5,m1,m0)
add_face (cube(5),m3,m2,m6,m7)
For t=0 To 5
EntityTexture cube(t),texture(t)
Next
End Function
create_cube()
SetBuffer BackBuffer()
Color 255,255,255
SetFont LoadFont("arial",20)
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
While Not KeyHit(1)
update_object()
check_mouse()
Delay(15)
RenderWorld()
Text 0,0,"Maus bewegen, Mausknopf drucken"
Flip
Wend
End
__________________
|
(Offline)
|
|
21.10.2007, 10:56
|
#7
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: модель из Желе
первый раз запустил. Дрова слетели. Перезагрузил комп. Второй раз запустил, перезагрузилась винда)
Может что-то не так с примером? У всех идет?
|
(Offline)
|
|
21.10.2007, 14:44
|
#8
|
Знающий
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений (для 32 пользователей)
|
Re: модель из Желе
Horror, какие демки запускал?
Fant, всё работает.
Очень кстати неплохой пример. Но для новичков будет сложноват, особено если делать что то посложнее куба
|
(Offline)
|
|
21.10.2007, 15:02
|
#9
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: модель из Желе
Сообщение от Render
Horror, какие демки запускал?
Fant, всё работает.
Очень кстати неплохой пример. Но для новичков будет сложноват, особено если делать что то посложнее куба
|
может особенности моей карты?
|
(Offline)
|
|
21.10.2007, 16:17
|
#10
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
Re: модель из Желе
У меня все идет. ))
|
(Offline)
|
|
21.10.2007, 16:28
|
#11
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Re: модель из Желе
Рендер
занчит попробую объяснить:
1) скачал отсюда http://rubux.net/content/blogsection/1/5/
2) скачал Blitz3D:PhysX wrapper и Blitz3D:59 samples
3) запускаешь любой семпл(из 59) он не работает
пишет pxИмяФункции not fond ...
4) Я открыл деклс фаил там название функции начинаються не с px а с ph т.е. видимо на сайте залита более старая версия длл так?
5)скачал Demos: Soft Bodies эти демки работают
6) взял библиотечки из демок и бросил их вместо тех
и терь этой ошибки нет (драйвер нот фонд) , но теперь он останавливается на этой строчке : PxCreateWorld(1, "key")
ПС может я что не так делаю (
Тормаз
пасибо за пример , но он действительно сложноват
и я не смогу понять как вместо куба загрузить 3д модель
НУ И суть
видимо я не правельно задал вопрос (каюсь)
мне не надо чтоб объект взаимодесвуя с каким либо объектом трясся
, а чтоб трясся всегда с определенной частотой
ну просто как анимации , если это можно сделать прям в максе буду рад!
т.е. в играх , к примеру, при хотьбе проиграваеться анимация хотьбы (т.е. модель просто шевелит ногами)
А моя модель должна трестись (Как желе) мой пресонаж это слизь-улитко ))
|
(Offline)
|
|
21.10.2007, 19:00
|
#12
|
Дэвелопер
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений (для 17 пользователей)
|
Re: модель из Желе
Проси у автора бездровную версию и не парь мозг!
|
(Offline)
|
|
02.11.2007, 01:43
|
#13
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Re: модель из Желе
Вобщем я б посоветовал без физики да и без обьемного програмирования только в 3д максе сделать костями и модификатором flex. Единственный недостаток этого это то что модель как бы "статичной"получаеться - просто анимированная.
|
(Offline)
|
|
02.11.2007, 02:06
|
#14
|
Знающий
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений (для 32 пользователей)
|
Re: модель из Желе
Horror, посмтри на той же страничке, в самом низу. Там лежат дрова. Вот их поставь и будет всё ок.
А вообще у меня с роду не было таких приставок, может это кто уже врапер себе присвоил ))
|
(Offline)
|
|
02.11.2007, 12:19
|
#15
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: модель из Желе
Horror, двигай вершины по синусу относительно текущим миллисекам и позиции вершины в мире. Будет тебе жиле.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:21.
|