Camera following a mesh

BlitzMax Forums/MiniB3D Module/Camera following a mesh

ziggy(Posted 2007) [#1]
I've got this method on my 'camera' type, but I really don't like how it follows the 'main' character of the game I'm writing, I'm sure there will be a better algorithm for camera 'following' the main character. This is the code I'm using right now, any suggestion will be apreciated:

	Method Update()
		Local Dist:Float
		If target = Null Then Return
		Dist = cam.EntityDistance(target)
		
		If dist>maxdistance Then
			pos.PointEntity(target)
			pos.MoveEntity(0,2,0)
		ElseIf dist<mindistance Then
			pos.PointEntity(target)
			pos.MoveEntity(0,-2,0)
		End If
		pos.RotateEntity(0,0,0,True)
		
		cam.PointEntity(target)
	End Method


Notes:
Target is the mesh that has to be followed by the camera.
Pos is a pivot that is part of the camera object, it is used to place the camera.
cam is the camera object, contained as a filed on my camera type.


Amon(Posted 2007) [#2]
This is B3D code but should work with MiniB3D. It was coded by Antony and imo is a totally cool way for having a camera follow a mesh while avoiding obstructions.

Link here : http://www.blitzbasic.com/codearcs/codearcs.php?code=1083


ziggy(Posted 2007) [#3]
mmm, any miniB3D version? I've not experience on Blitz3D


Amon(Posted 2007) [#4]
Well, Since MiniB3D IS B3D for BlitzMax then you should have no problem converting the code.


bradford6(Posted 2007) [#5]
some nitwit by the name of 'bradford6' posted this 5 yrs ago:
http://www.blitzbasic.com/codearcs/codearcs.php?code=97

so i went ahead and updated it for the animated robot demo


get the robot demo here:
http://www.blitzbasic.com/Community/posts.php?topic=66821

or if you already have it, drop this code in the Robot Animtest folder



ziggy(Posted 2007) [#6]
Thanks!