Jump to content

Marleys Ghost

Members
  • Posts

    2,157
  • Joined

  • Last visited

Everything posted by Marleys Ghost

  1. Its not actually missing anything it has exactly what it was programmed to have, and I am busy writing page numbers and dont have time to debug gamelib code as well
  2. Well how much "detail" with regard to "grass" would you see anyway at a distance? I use that very texture in my test scene. forest_grass is from the textures pack and is (I believe) mipmap faded.
  3. Which is also true, and again a balance needs to be struck, low scaling less pixelation but more visible tileing, I use textures that do and do not have mipmap fading but as you said Pixel, its best to try varying all the settings, experiment and learn from the visual feedback.
  4. Requires a balance "of sorts" to be struck and texture resoltuon and mipmap fading can help.
  5. This was a screenshot taken from the LWE 2.3 editor, with the application of the editors post processing FX. Using two textures, a base layer with no normal and the standard smooth sand texture that comes with the SDK. Leadwerks editor was used to place and scale the textures, L3DT was used to create the Height map which was loaded into a terrain, set to the defaults 1024x1024 2MpT. I rarely use automatic placement of the textures, its ok for the base or to get a "rough" height of say, sand on a beach but you can't beat a bit of good old fashioned "hand" painting.
  6. Well TBH DEM data is harder to work with than L3DT, and again TBH the results can be very similar. Test Of DEM ( Pixels Test of DEM ) Test of L3DT There is a tutorial on the wiki for using L3DT by Rstralberg, I can't sing its praises as I have never used it. His one on creating skybox's in terragen is very concise and easy to understand, so I would imagine the one on L3DT is too.
  7. B) (but Mack does have a point less talk gimpy more modeling! )
  8. You are very Generous Gimpy Thanks B) but how am I ever going to get on with my Project if I have to keep stopping to download and use these nice assets huh ?!?
  9. More crates luvly jubbly thanks Gimpy!
  10. very nice please note it was not a criticism of the original BWire fence just this way means its easier to use to make enclosures Thanks again Gimpy!
  11. Looks very good indeed Kevin, and welcome
  12. Thanks Richard, one can never have too many crate props, very nice
  13. UU3D is certainly a tool I'd hate to be without, well worth the outlay in my opinion. I think the Silo' trial is fully functional for the first 30 days it then defaults to a "learning" version what ever that entails.
  14. I think Mack has a good point, I'd just stick to the LE specific tools and their use, otherwise you'll end up being expected to "debug" peoples entire workflow from start to finish.
  15. <taps macklebee on the head> like that ? or is that too much echo? You could try having a look through this site
  16. Updated Basic 3rd Person Camera Changed : Pivot removed as it was not required and the player body creation re-written/condensed : (Thanks to Macklebee for that, and for reminding me to use curve on the zooming value) Added : Player starts in 1st person, the mouse wheel now controls zooming out to 3rd person and back into 1st person view. The additions to the Simple Scene Loader code are enclosed in dashed lines. I hope this will be of some use to someone. SuperStrict Framework leadwerks.engine Import "PATH TO YOUR 2.3 SDK FOLDER\BMX\Framework\framework.bmx" Include "lua-gluefunctions.bmx" AppTitle:String = "3rd Person camera test" GCSetMode(2) 'Register the directory under which the abstract file system will search. RegisterAbstractPath("PATH TO YOUR 2.3 SDK FOLDER") 'Create a Graphics window Graphics(800, 600) AFilter(4) 'Set the anisotropic filter. Range 1-16 'Using AFilter(MaxAFilter()) will use the maximum supported anisotropic filter on your PC 'Adding the line "DrawText ("MaxAFilter = " + MaxAFilter(), 0, 80)" 'after "fw.Render()" will display on screen the maximum supported anisotropic filter. TFilter(1) 'Set trilinear filtering : 0 = off : 1 = on. 'Create a new Framework object. Global fw:TFramework = TFramework.Create() If Not fw RuntimeError "Failed to initialize engine." SetScriptObject("fw", fw)'Setup the global script objects. SetPostFX()'Setup the post processing FX SetVegetationShadowMode(0)'Setup vegetation layer shadows : 0 = off : 1 = on. 'Load the scene. Global scene:TEntity = LoadScene("abstract::YOUR_SCENE.sbx") 'Setup the player controller. Global player:TController = CreateController(2.0) PositionEntity(player, StringToVec3(scene.getkey("cameraposition"))) EntityType(player, 3) SetBodyMass(player, 10.0) SetBodyBuoyancyMode(player,0) Collisions(1, 3, 3) 'Setup the player movement variables. Global move:Float = 0.0 Global strafe:Float = 0.0 Global camrotation:TVec3 = Vec3(0) Global mx:Float = 0.0 Global my:Float = 0.0 Global jump:Float = 0.0 '-------------------------------------------------------------------------------- Global camy:Float = 0.0 Global camz:Float = 0.0 'Setup the player character model Global player_body:TEntity = CreateCube(player) ScaleEntity(player_body,Vec3(0.5,1.8,0.5)) '-------------------------------------------------------------------------------- HideMouse() 'Set stats level : 0 = No statistics : 1 = Show frame rate : 2 = Full statistics. fw.SetStats(2) 'Main program loop. Repeat If KeyHit(KEY_ESCAPE) Exit If AppTerminate() Exit UpdateAppTime() UpdateWorld(AppSpeed()) PlayerController() fw.Update() fw.Render() Flip(0) Forever fw.renderer.gbuffer = Null GCCollect() End 'Functions. Function SetPostFX()'0 = off : 1 = on. fw.renderer.SetAntialias(1) fw.renderer.SetBloom(1) fw.renderer.SetGodRays(1) fw.renderer.SetHDR(1) fw.renderer.SetSSAO(0) fw.renderer.SetWireFrame(0) End Function Function PlayerController() mx = Curve(MouseX() - GraphicsWidth() / 2, mx, 6) my = Curve(MouseY() - GraphicsHeight() / 2, my, 6) MoveMouse(GraphicsWidth() / 2, GraphicsHeight() / 2) camrotation.X = camrotation.X + my / 10.0 camrotation.Y = camrotation.Y - mx / 10.0 RotateEntity(fw.Main.camera, camrotation) move = KeyDown(KEY_W) - KeyDown(KEY_S) strafe = KeyDown(KEY_D) - KeyDown(KEY_A) jump:Float = 0.0 If KeyHit(KEY_SPACE) & Not ControllerAirborne(player) jump = 4.0 End If If KeyDown(KEY_LSHIFT) | KeyDown(KEY_RSHIFT) move = move * 3.0 strafe = strafe * 3.0 End If '-------------------------------------------------------------------------------- PositionEntity(fw.Main.camera, Vec3(player.position.x, player.position.y + 0.8, player.position.z)) camy = 0.5 If MouseZ()>0 Then FlushMouse() If MouseZ()=0 Then camy = 0.0 camz = Curve(MouseZ(), camz, 10) MoveEntity(fw.Main.camera, Vec3(0,camy,camz)) '-------------------------------------------------------------------------------- UpdateController(player, camrotation.Y, move * 3, strafe * 3, jump, 500) End Function Function StringToVec2:TVec2(text:String, scale:Float = 1.0) Local t:TVec2 = Vec2(1) Local sarr:String[] sarr = text.split(",") If sarr If sarr.length > 0 t.x = Float(sarr[0]) * scale If sarr.length > 1 t.y = Float(sarr[1]) * scale EndIf Return t EndFunction Function StringToVec3:TVec3(text:String, scale:Float = 1.0) Local t:TVec3 = Vec3(1) Local sarr:String[] sarr = text.split(",") If sarr If sarr.length > 0 t.x = Float(sarr[0]) * scale If sarr.length > 1 t.y = Float(sarr[1]) * scale If sarr.length > 2 t.z = Float(sarr[2]) * scale EndIf Return t EndFunction Function StringToVec4:TVec4(text:String, scale:Float = 1.0) Local t:TVec4 = Vec4(1) Local sarr:String[] sarr = text.split(",") If sarr If sarr.length > 0 t.x = Float(sarr[0]) * scale If sarr.length > 1 t.y = Float(sarr[1]) * scale If sarr.length > 2 t.z = Float(sarr[2]) * scale If sarr.length > 3 t.w = Float(sarr[3]) * scale EndIf Return t EndFunction Function SetScriptObject(name:String, o:Object) Local size:Int=GetStackSize() lua_pushbmaxobject(luastate.L,o) lua_setglobal(luastate.L,name) SetStackSize(size) EndFunction Function GetStackSize:Int() Return lua_gettop(luastate.L) EndFunction Function SetStackSize(size:Int) Local currentsize:Int=GetStackSize() If size<currentsize lua_pop(luastate.L,currentsize-size) EndIf EndFunction
  17. No problems cassius glad it might be of use. Just about to update it... shortly ... well .. in a while No probs If anyone else has trouble finding the "Lua-gluefunctions.bmx" the code to generate one is Here.
  18. Before freeing the world store the controllers data (position rotation ect.) and re-create in the new world?
  19. Excellent, glad you have it working now
  20. Hey !! can't shoot the cushions off !! lol .... Ikea? these are all very handy props Gimpy .. thanks
  21. Now I know Tommy Walsh might be critical but that works really well seems you are getting the hang of the hinge thing. Nice work Gimpy
  22. If I stuff the caves made out of your assets with your assets then they are no longer caves ... they are "mounds"
×
×
  • Create New...