Jump to content

AggrorJorn

Members
  • Posts

    4,816
  • Joined

  • Last visited

Posts posted by AggrorJorn

  1. try CTRL+SHIFT+Right/Left-click.. at least thats what is working for me... that and you need a terrain

    You do not perse need terrain. You can copy the selected without the terrain but only if the picked location is inside the selection. But indeed if you use terrain, you can place it every where you want.

  2. I have often thought it would be handy .. atleast when placing mono sounds to see where they would be heard on a map, gets my vote as simple yet useful.

    Cool to have your vote as well. Yeah it is pure mono sounds. Like when you are in the area of fire or generator. Not for constant background music.

  3. See, it's stuff like this that makes me glad to be using LE B) Frequent updates that address things that we ask for. Thanks Josh!

    Totaly agree on that. It keeps the engine and the community fresh and sharpened for more.

     

    Nice updates Josh. What a relief that the class scripts don't expand anymore everytime you exit the game modus or load a project.

    Also the copying and opening the properties functions are very nice. It is small things like this that fine tune this engine to a great engine.

  4. File Name: Third person camera - ball game example

    File Submitter: Aggror

    File Submitted: 17 Feb 2010

    File Updated: 25 Feb 2010

    File Category: C/C++ Code

     

    When I first used Leadwerks, I was trying to make a ball game like Marble blast ;) I never really finished it, but the third person camera is working plus a small demo level. :o It contains the source code which people can perhaps use.

     

    Please note that this was just a very simple test B) . That means.

    • not the best soundtrack
    • bad textures on my own models
    • you can jump as long as their is collision (which results in climbing up walls))
    • no camera collision

    ball.jpg

     

    #include "engine.h" 
    
    int ballCollision = 0 ;
    
    	void _stdcall EntityCollisionCallback( TEntity entity0, TEntity entity1, byte* 
    	position, byte* normal, byte* force, flt speed ) 
    	{ 
    	ballCollision = 1;
    	}
    
    
    
    int main(int argc, char** argv) 
    { 
    Initialize(); 
    
    //Create a graphics context 
    Graphics(800,600); 
    
    //Create a world 
    if (!CreateWorld()) { 
    MessageBoxA(0,"Error","Failed to create world.",0); 
    goto exitapp; 
    } 
    
    //Create a camera 
    TEntity cam=CreateCamera(); 
    CameraClearColor(cam,Vec4(0,0,1,1)); 
    PositionEntity(cam,Vec3(0,8.2,-4)); 
    
    
    
    //Create a light 
    TLight light=CreatePointLight(); 
    PositionEntity(light,Vec3(0,10,0)); 
    RotateEntity(light,Vec3(0,45,0)); 
    
    
    
    Collisions(1,1,1); 
    
    //Create a render buffer 
    TBuffer buffer=CreateBuffer(800,600,BUFFER_COLOR|BUFFER_DEPTH|BUFFER_NORMAL); 
    
    //load a scene
    TModel scene=LoadModel("abstract::scene.gmf"); 
    if (!scene) { 
    MessageBoxA(0,"Error","Failed to load mesh.",0); 
    goto exitapp;   
    } 
    EntityType(scene,1);
    
    //body
    TBody ballbody=CreateBodySphere();
    SetBodyMass(ballbody,1.5); 
    SetBodyGravityMode(ballbody,-10);
    PositionEntity(ballbody,Vec3(0,8,0)); 
    EntityType(ballbody,1);
    SetEntityCallback(ballbody,(byte*)EntityCollisionCallback,ENTITYCALLBACK_COLLISION);
    
    
    //mesh
    TMesh ballmesh=LoadMesh("abstract::ball_ball1.gmf");
    ScaleMesh(ballmesh,Vec3(1,1,1));
    PositionEntity(ballmesh,Vec3(0,8,0)); 
    EntityParent(ballmesh,ballbody);
    EntityType(ballmesh,1);
    
    
    //keyboard variabeles
      	TVec3 camrotation=Vec3(0); 
    TVec3 cam2rotation=Vec3(0);
    float mx=0; 
    float my=0; 
    float move=0; 
    float strafe=0; 
    float jump=20;
    HideMouse(); 
    MoveMouse(GraphicsWidth()/2,GraphicsHeight()/2); 
    
    //physics
    Collisions(1,1,1);
    DebugPhysics(true);
    
    //camera pivots
    TEntity pivot1=CreatePivot(ballmesh);
    EntityParent(cam, pivot1);
    
    //other variabeles
    char temp[100]; 
    int result; 
    TVec3 point0; 
    TVec3 point1; 
    
    //sound
    TSound sound1 =LoadSound("abstract::ruud.wav");
    TSource source1 =CreateSource(sound1,SOURCE_LOOP);
    PlaySource(source1);
    SetSourceVolume(source1,0.1);
    
    	//Main loop 
    	while(!KeyHit(KEY_ESCAPE)) { 
    
    	//Pivot
    	mx=Curve(MouseX()-GraphicsWidth()/2,mx,6);
    	my=Curve(MouseY()-GraphicsHeight()/2,my,6);
    	MoveMouse(GraphicsWidth()/2,GraphicsHeight()/2);
    	camrotation.Y=camrotation.Y-mx/10.0;
    	camrotation.X=camrotation.X+my/10.0; 
    	RotateEntity(pivot1,camrotation, 1);
    
    	////Camera looking
    	//mx=Curve(MouseX()-GraphicsWidth()/2,mx,6);
    	//my=Curve(MouseY()-GraphicsHeight()/2,my,6);
    	//MoveMouse(GraphicsWidth()/2,GraphicsHeight()/2);
    	//cam2rotation.X=cam2rotation.X+my/10.0;
    	//RotateEntity(cam,cam2rotation);
    
    	//moving the ball
    	move=KeyDown(KEY_W)-KeyDown(KEY_S); 
    	strafe=KeyDown(KEY_D)-KeyDown(KEY_A); 
    	TVec3 forcemove = Vec3(strafe*10.0,0,move*10.0); 
    	forcemove = TFormVector(forcemove,cam,0); 
    	AddBodyForce(ballbody,forcemove); 
    
    			//Jumping with the ball
    			if (ballCollision == 1)
    			{
    
    			if (KeyHit(KEY_SPACE)) 
    			{ 
    			TVec3 forcejump = Vec3(0,390,0); 
    			AddBodyForce(ballbody,forcejump,1); 
    
    			}
    			}
    			ballCollision = 0;
    
    
    	//Update the world 
    	UpdateWorld(); 
    
    	//Render the scene 
    	SetBuffer(buffer); 
    	RenderWorld(); 
    
    	//Render lighting 
    	SetBuffer(BackBuffer()); 
    	RenderLights(buffer); 
    
    
    	//Swap the front and back buffer 
    	Flip(); 
    	} 
    
    exitapp: 
    return Terminate(); 
    } 

     

    Click here to download this file

  5. In options menu when pressing the display tab you can choose view lights. This shows a range for lights. It would be nice to see this als for sound emitters (perhaps other color.)

     

    post-45-0-20665100-1334761330_thumb.jpg

    • Upvote 1
  6. Try it with just a diffuse map, no normal map. If the problem goes away then it might be that the Y component of the normal map is inverted. If the problem doesn't happen when only using a diffuse then you can try adding:

    normal.y *= -1.0;

    right after:

    normal = bumpcolor.xyz * 2.0 - 1.0;

    in mesh.frag and see if that fixes it. If so, then you can leave it like that if all your normal maps are generated the same way, or use -Y in your normal mapping program and leave the shader the way it is.

    Thanks for the help but unfortunatly removing the bump causes the same problems. Removing every texture and the mat shows a correct shape of the model. Problem is somewhere in the texture, matt or shader.

     

    Sounds like the normal problems I had with models from dexsoft.

    What did you do to solve this issue, besides remodeling and texturing.

     

    I'm trying the same textures and mat files on different object, but that all seems to work. I think I'll start over with the model. Maybe there is just something wrong in my model.

  7. I've seen this problem before on the forum but I can't find it back. I have a boiler which has a texture apllied to it. (See image). The 'rings' on the boiler turn partially black. If I rotate around the boiler, the black color folows.

    Also a part of the box on front of the boiler has this problem. I tried exporting again with another texture, but the results are the same.

     

    The texture I use is 512-512, DXT5 with mipmapping. I use the following .mat.

    texture0="abstract::boiler large copper.dds"
    texture1="abstract::boiler large copper_N.dds"
    blend=0
    depthmask=1
    zsort=1
    overlay=1
    cullface=1
    shader="abstract::mesh_diffuse_bumpmap.vert","abstract::mesh_diffuse_bumpmap_specular.frag"
    shadowshader="abstract::mesh_shadow.vert"
    

  8. Aggror

     

    Many thanks to you Aggror

    Roland

    Thanks for your reply. I'm glad that it helps you out. It is one of the reasons I made this User guide. The community helped me a lot over the past few months and I thought that I should give something back to the community. Ofcourse it was also a good way to learn. For example: I always clicked on V-sync because I thought that this would improve the scene. I didn't really know what it meant. But know that I did some researching I know wat it means. I changed my signature because of that.

  9. I like the new skin for the website already, so good job.

     

    see this topic: http://leadwerks.com/werkspace/index.php?/topic/1196-rename-pages-to-tutorials/

     

    I noticed the following/;

    when you are in the homepage and you click on products--> Leadwerks engine, you go here http://www.leadwerks.com/engine_index.html.

    If you go over community, you can see that the menu 'resources' is twice displayed.

     

    I doubt if many people will notice it, but now you know it. :P

  10. File Name: PlayerStart

    File Submitter: Aggror

    File Submitted: 14 Feb 2010

    File Updated: 14 Feb 2010

    File Category: Lua Scripts

     

    Place this PlayerStart folder anywhere in your models folder.

     

    Go to your FPScontroller.lua

    After the following lines:

    --Create a player controller
    controller=CreateController(1.8,1.45,0.25,45)
    controller:SetCollisionType(COLLISION_CHARACTER,0)
    controller:SetPositionf(0,3,0,0)
    controller:SetMass(10)
    

    add this:

    playerStart = 1

     

    Click here to download this file

  11. you have to unwrap your low-poly object before

    So when the object has several textures attached to it and all the parts are attached together, then I need to ad a Unwrap UVW modifier (before I render to texture.)? If so I really need to do does tutorials again. Unwrapping is the toughest thing in 3ds Max in my opinion.

×
×
  • Create New...