Hi All,
found this demo written by someone when it first came out, have found away of making hollow objects fill up.
run and see.
Ho and if you spot your work give a shout.
REM Project: DISH
REM Created: 11/25/2006 3:39:53 PM
REM
REM ***** Main Source File *****
REM
sync on
sync rate 0
Randomize timer()
autocam off
phy start
GLOBAL Ground = 1
GLOBAL Dish1 = 2
GLOBAL Dish2 = 3
GLOBAL Dish3 = 4
GLOBAL TextTimer
GLOBAL Ball = 5
GLOBAL Ballsize# = .15
GLOBAL BallRes = 8
make object box Ground, 10, 0.3, 10
position object Ground, 0, -0.5, 0
phy make rigid body static box Ground
color object Ground, rgb( 0, 255, 0 )
MakeObjectDish( Dish1, 1.5,50 ,80)
position object Dish1, 0,1,2
phy make rigid body static mesh Dish1
color object Dish1, RGB(185,152,121)
MakeObjectDish( Dish2, 1.0,190 ,98)
position object Dish2, 0,1,0
phy make rigid body static mesh Dish2
color object Dish2, RGB(185,152,121)
MakeObjectDish( Dish3, 1.5,100 ,95)
position object Dish3, 0,1,-2
phy make rigid body static mesh Dish3
color object Dish3, RGB(185,152,121)
position camera 0, -4,2,-4
point camera 0, 0,0,0
do
ControlCamera()
if timer() > TextTimer then PrintText()
text 10,20, "FPS : "+ str$(screen FPS())
text 10,30, "OBJECTS : "+ str$(BALL)
text 10,60, "Press space key to drop balls"
if spacekey() then MakeSphere()
phy update
sync
loop
Function PrintText()
textTimer = timer()+100
Endfunction
Function ControlCamera()
if shiftkey() then position camera 0, camera position x(), camera position y ()+.1, camera position z()
if controlkey() then position camera 0, camera position x(), camera position y ()-.1, camera position z()
CONTROL CAMERA USING ARROWKEYS 0, .1, .5
Endfunction
function MakeSphere()
inc Ball,1
make object sphere Ball, Ballsize#, BallRes,BallRes
position object ball, rnd(100)/500,rnd(10),(rnd(2)-1)*2
color object ball, rgb (rnd(255),rnd(255),rnd(255))
phy make rigid body dynamic sphere ball
endfunction
function MakeObjectDish( ObjectNumber, Diameter#,Height#, Thickness# )
`A function to make a dish object
' #height is a percentage of the dia used to shape bowl
' #Thickness is a percentage of the dia used to control wall of bowl
Thickness# = Thickness# / 100
Rows = 16 `Set detail level
Columns = 16
make object sphere ObjectNumber, Diameter#, Rows, Columns
scale object Objectnumber ,100,Height#,100 ' deform to height
lock vertexdata for limb ObjectNumber, 0, 1
for Vertex = 0 to get VertexData Vertex Count()
`Get the vertex's current position
xPosition# = get VertexData Position X( Vertex )
yPosition# = get VertexData Position Y( Vertex )
zPosition# = get VertexData Position Z( Vertex )
if yPosition# > 0
set VertexData Position Vertex, xPosition# * Thickness#, -yPosition# * Thickness# , zPosition# * Thickness#
else
set VertexData Position Vertex, xPosition#, yPosition# , zPosition#
endif
next Vertex
unlock vertexdata
`Make the finished object
make mesh from object 5000, ObjectNumber `Save the dish shaped mesh
delete object ObjectNumber `Delete the temporary object
make object ObjectNumber, 5000, 0 `Make a new object from the mesh
delete mesh 5000 `Delete the mesh
endfunction
Dark Physics makes any hot drink go cold.