GIMPY73 Posted April 18, 2010 Share Posted April 18, 2010 Ok here is a simple point'n'click routine:) 'Use the Leadwerks Engine module as our base Framework leadwerks.engine 'Create an OpenGL graphics window Graphics 800, 600 'Allows the engine to find files and load files from zip packages RegisterAbstractPath AppDir 'Create a world If Not CreateWorld() RuntimeError "Failed to create world." 'Create a camera cam:TCamera = CreateCamera() 'MoveEntity cam, Vec3(0, 45, - 45) 'create a ligt light:TLight = CreateDirectionalLight() RotateEntity(light, Vec3(65, 45, 0)) 'Create a render Buffer buffer:TBuffer = CreateBuffer(800, 600, BUFFER_COLOR | BUFFER_DEPTH | BUFFER_NORMAL) piv=createpivot() 'create a mesh cube:TMesh = CreateCube() Local plane:tentity = CreatePlane() ScaleEntity plane, Vec3(100,0.1,100) PaintEntity (plane,LoadMaterial("abstract::cobblestones.mat")) Local pick:TPick 'Main loop While Not KeyHit(KEY_ESCAPE) positionentity (cam,vec3(cube.position.x,cube.position.y+25,cube.position.z-25)) pointentity cam,cube 'pick objects with the mouse If MouseDown(1) = True pick = CameraPick(cam, Vec3(MouseX(), MouseY(), 1000)) If pick Then positionentity (piv,vec3(pick.x,.5,pick.z)) pointentity cube,piv Local speed#=.3 End If End If If (entitydistance(cube,piv) < 1.2) speed#=0 End If moveentity cube,vec3(0,0,speed#) 'Update timing, physics, and other miscellaneous updates UpdateWorld 'Draw the world SetBuffer(buffer) RenderWorld 'render lighting SetBuffer(BackBuffer()) RenderLights(buffer) 'Swap the graphics buffers so we can see what we drew Flip Wend Could be used for an RPG/RTS style of game. Feel free to laugh/poke fun at it , just thought i would share Thanks Gimpy73 2 Quote http://www.fallingpixel.com/mac10-3d-model/26203 (MAC-10) http://www.fallingpixel.com/glock17-3d-model/26471 (Glock-17) http://www.youtube.com/user/MRGIMPY73 Link to comment Share on other sites More sharing options...
Flexman Posted April 18, 2010 Share Posted April 18, 2010 Thanks for sharing. It's nice and simple and demonstrates camera picking, using pivots and a 3rd person camera, all in a few lines. I never thought to use a pivot as a waypoint entity either. Cheers. Quote 6600 2.4G / GTX 460 280.26 / 4GB Windows 7 Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT Tricubic Studios Ltd. ~ Combat Helo Link to comment Share on other sites More sharing options...
GIMPY73 Posted April 18, 2010 Author Share Posted April 18, 2010 Ya welcome Flexman Thanks Gimpy73 Quote http://www.fallingpixel.com/mac10-3d-model/26203 (MAC-10) http://www.fallingpixel.com/glock17-3d-model/26471 (Glock-17) http://www.youtube.com/user/MRGIMPY73 Link to comment Share on other sites More sharing options...
cassius Posted April 18, 2010 Share Posted April 18, 2010 Nice one Gimpy. Thanks . Another one to go in my folder of usefull bmaxcode. Quote amd quad core 4 ghz / geforce 660 ti 2gb / win 10 Blender,gimp,silo2,ac3d,,audacity,Hexagon / using c++ Link to comment Share on other sites More sharing options...
GIMPY73 Posted April 18, 2010 Author Share Posted April 18, 2010 No probs Cassius Thanks Gimpy73 Quote http://www.fallingpixel.com/mac10-3d-model/26203 (MAC-10) http://www.fallingpixel.com/glock17-3d-model/26471 (Glock-17) http://www.youtube.com/user/MRGIMPY73 Link to comment Share on other sites More sharing options...
GIMPY73 Posted April 23, 2010 Author Share Posted April 23, 2010 Ok ive been playing abit more with this and ran into a problem. 'Use the Leadwerks Engine module as our base Framework leadwerks.engine 'Create an OpenGL graphics window Graphics 800, 600 'Allows the engine to find files and load files from zip packages RegisterAbstractPath AppDir 'Create a world If Not CreateWorld() RuntimeError "Failed to create world." 'Create a camera cam:TCamera = CreateCamera() 'create a ligt light:TLight = CreateDirectionalLight() RotateEntity(light, Vec3(65, 45, 0)) 'Create a render Buffer buffer:TBuffer = CreateBuffer(800, 600, BUFFER_COLOR | BUFFER_DEPTH | BUFFER_NORMAL) piv=CreatePivot() 'create a mesh cube:TMesh = CreateCube() PositionEntity cube,vec3(0,.5,0) Local plane:tentity = CreatePlane() ScaleEntity plane, Vec3(100,0.1,100) PaintEntity (plane,LoadMaterial("abstract::cobblestones.mat")) Local pick:TPick 'Main loop While Not KeyHit(KEY_ESCAPE) PositionEntity (cam,vec3(cube.position.x,cube.position.y+60,cube.position.z-30)) PointEntity cam,cube 'pick objects with the mouse If MouseDown(1) = True pick = CameraPick(cam, Vec3(MouseX(), MouseY(), 1000)) If pick Then PositionEntity (piv,vec3(pick.x,.5,pick.z)) PointEntity cube,piv Local speed#=.3 End If End If 'Zoom in / out Select MouseZSpeed() Case 1 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 zoom#=zoom#+1 Case -1 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 zoom#=zoom#-1 End Select If zoom#<1 Then zoom#=1 If zoom#>5 Then zoom#=5 CameraZoom cam,zoom# If MouseDown(2) = True speed#=0 mx# = MouseXSpeed()*.3 TurnEntity cam,vec3(0,mx#,0) End If If (EntityDistance(cube,piv) < 1.2) speed#=0 End If MoveEntity cube,vec3(0,0,speed#) 'Update timing, physics, and other miscellaneous updates UpdateWorld 'Draw the world SetBuffer(buffer) RenderWorld 'render lighting SetBuffer(BackBuffer()) RenderLights(buffer) 'Swap the graphics buffers so we can see what we drew Flip Wend Im trying to get the camera to point and rotate around the cube when the right mouse button is held down. I used some old code from a Blitz3D project and that worked fine for Blitz3D. I can get the camera to point and rotate around the cube as a seperate program , but i don't want to work with the above code. Any pointers on this??? Thanks Gimpy73 Quote http://www.fallingpixel.com/mac10-3d-model/26203 (MAC-10) http://www.fallingpixel.com/glock17-3d-model/26471 (Glock-17) http://www.youtube.com/user/MRGIMPY73 Link to comment Share on other sites More sharing options...
GIMPY73 Posted April 23, 2010 Author Share Posted April 23, 2010 Never mind , i fixed it by adding another pivot for the camera It seems to snap when you press the right mouse button , but atleast it works 'Use the Leadwerks Engine module as our base Framework leadwerks.engine 'Create an OpenGL graphics window Graphics 800, 600 'Allows the engine to find files and load files from zip packages RegisterAbstractPath AppDir 'Create a world If Not CreateWorld() RuntimeError "Failed to create world." campiv=CreatePivot() 'Create a camera cam:TCamera = CreateCamera(campiv) PositionEntity cam,vec3(0,60,-30) 'create a ligt light:TLight = CreateDirectionalLight() RotateEntity(light, Vec3(65, 45, 0)) 'Create a render Buffer buffer:TBuffer = CreateBuffer(800, 600, BUFFER_COLOR | BUFFER_DEPTH | BUFFER_NORMAL) piv=CreatePivot() 'create a mesh cube:TMesh = CreateCube() PositionEntity cube,vec3(0,.5,0) Local plane:tentity = CreatePlane() ScaleEntity plane, Vec3(100,0.1,100) PaintEntity (plane,LoadMaterial("abstract::cobblestones.mat")) Local pick:TPick 'Main loop While Not KeyHit(KEY_ESCAPE) mx# = GraphicsWidth()/2 - MouseX() PositionEntity (campiv,vec3(cube.position.x,cube.position.y,cube.position.z)) 'PositionEntity (cam,vec3(cube.position.x,cube.position.y+60,cube.position.z-30)) PointEntity cam,campiv 'pick objects with the mouse If MouseDown(1) = True pick = CameraPick(cam, Vec3(MouseX(), MouseY(), 1000)) If pick Then PositionEntity (piv,vec3(pick.x,.5,pick.z)) PointEntity cube,piv Local speed#=.3 End If End If 'Zoom in / out Select MouseZSpeed() Case 1 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 zoom#=zoom#+1 Case -1 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 zoom#=zoom#-1 End Select If zoom#<1 Then zoom#=1 If zoom#>5 Then zoom#=5 CameraZoom cam,zoom# If MouseDown(2) = True speed#=0 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 TurnEntity campiv,vec3(0,mx#,0) End If If (EntityDistance(cube,piv) < 1.2) speed#=0 End If MoveEntity cube,vec3(0,0,speed#) 'Update timing, physics, and other miscellaneous updates UpdateWorld 'Draw the world SetBuffer(buffer) RenderWorld 'render lighting SetBuffer(BackBuffer()) RenderLights(buffer) 'Swap the graphics buffers so we can see what we drew Flip Wend Thanks Gimpy73 Quote http://www.fallingpixel.com/mac10-3d-model/26203 (MAC-10) http://www.fallingpixel.com/glock17-3d-model/26471 (Glock-17) http://www.youtube.com/user/MRGIMPY73 Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.