FANDOM



This command will set the specified camera to automatic collision.

Syntax
AUTOMATIC CAMERA COLLISION Camera Number, Radius, Response
AUTOMATIC CAMERA COLLISION Camera Number, Radius, Response, Stand Ground Mode
Parameters
Camera Number

Integer
The camera number Radius Float
The cameras with automatic collision use a collision sphere of the specified radius Response Integer
If the response value is set to one, the new position backtracks to the last collision free position when a hit occurs. A value of zero adjusts position for sliding collision Stand Ground Mode Integer
If the stand ground mode value is set to one, the camera cannot be pushed by other objects. The default is zero, which allows the camera to be pushed around by other objects

Returns

This command does not return a value.

Description

Automatic collision takes over the task of adjusting the camera when it hits an object in the 3D scene. Cameras with automatic collision use a collision sphere of the specified radius. If the Response value is set to one, the new position backtracks to the last collision free position when a hit occurs. Spheres and boxes are solid objects, and so collision can only occur when they collide together. When an object is entirely within another object, even though the geometry is not touching, the collision is still valid as the larger object would be a solid construct. If the additional "Stand Ground Mode" value is set to one, the camera cannot be pushed by other objects. The default is zero, which allows the camera to be pushed around by other objects.

Example Code
sync on : sync rate 60 : hide mouse:cls 0

autocam off

set global collision on

ObjectNumber=1

SecondObject=2

make object sphere ObjectNumber,10

color object ObjectNumber,rgb(0,255,0)

position object ObjectNumber, 0,0,0

make object cone secondObject,10

xrotate object secondObject,90

fix object pivot secondObject

color object SecondObject,rgb(255,0,0)

position object SecondObject, 15,0,0

AUTOMATIC OBJECT COLLISION ObjectNumber,5,1

AUTOMATIC OBJECT COLLISION SecondObject,5,1

AUTOMATIC CAMERA COLLISION 0,40,1,0

while mouseclick()=0

set cursor 0,0

if leftkey()=1 then turn object left SecondObject,1

if rightkey()=1 then turn object right SecondObject,1

if upkey()=1 and OBJECT HIT(SecondObject,0)=0 then move object SecondObject,1

if downkey()=1 and OBJECT HIT(SecondObject,0)=0 then move object SecondObject,-1

if spacekey()=1 then move camera 0,1

if returnkey()=1 then position object SecondObject,15,0,0

if OBJECT COLLISION(SecondObject,0) then print "OBJECT COLLISION"

sync

endwhile

set global collision off

delete object ObjectNumber

delete object SecondObject

end