Jump to content

ArBuZ

Members
  • Posts

    164
  • Joined

  • Last visited

Everything posted by ArBuZ

  1. Wow!! Just downloaded a demo. I should check this out. Besides this soft was made by russian guys. So I think I must buy it and support this project
  2. ArBuZ

    animation

    I use such method of calculation current frame: frame1+=AnimSpeed*(Engine::GetTime()-prevAnimTime)/1000.0; if (frame1>=frameEnd) frame1=fmod(frame1,(frameEnd-1)); model.Animate(frame1,blendAmount,curAnimation,RECURSIVE) prevAnimTime=Engine::GetTime(); AnimSpeed is a speed of animation in frames per second. If it reaches the end of animation it loops to new frame from the beginning with corresponding offset.
  3. Actually, there are many tutorials and lessons about correct modeling, skinning, rigging and animating out there in the Internet. The rules are the same in almost all cases. And actually you might even don't know which engine you will use but you always have to be able to see if your model is correct. It comes more from the experience than from tutorials. Anyway, if you have the problem with particular model and cannot solve it, I can try to help and take a look at the model and say what is wrong. I'm always open for conversations, and always glad to help. Start from screen shots. Or you can send me your model and I will try to export it properly. And don't worry I wont use your model anywhere or send it to another person. But anyway screen shot may clarify what is wrong. PS There is also pdf file goes with the exporter. There is some info about exporting animated and skinned objects.
  4. Glad to hear that you solved the problem! Anyway if you will have any questions regarding the exporter, feel free to ask me any time
  5. Hi Gilmer! Its quiet strange issue you have. I think the problem is in skin modifier and it's settings. Check the option to use maximum 4 bones per vertex. It should be somewhere in the skin modifier. If you will have no luck, I can check your model if you like. PS. Hope I understood right and you used my exporter to export the model.
  6. At home I have a code that makes exactly what you want. I can post it when I get home if you need it.
  7. this should help: http://msdn.microsoft.com/en-us/library/dd162611%28VS.85%29.aspx [edit] and this one : http://msdn.microsoft.com/en-us/library/ms812499.aspx
  8. Great job man!!!! Very appreciate it! Thank you.
  9. The exporter makes it this way: it exports a model to OBJ file (using settings of OBJ exporter used last time) Then it runs obj2phy.exe to convert obj-file to phy-file. So what exactly do you have? Does obj2phy dos window appears during exporting? Check if you have Obj2phy.exe in scripts\sturtup folder? And check the 3dsmax OBJ exporter settings (just export something to obj one time. Then the exporter will use these settings).
  10. So, basically it just bakes GI to maps, right?
  11. Works nice on my PC. 20 - 25fps with 1280x1024 with everything on except wireframe. Nice work by the way
  12. its about world updating. http://www.leadwerks.com/wiki/index.php?title=Worlds#UpdateWorld If you use framewor.Update() it will call world.Update(Engene::GetSpeed()) for each world. The physics in this case will be frame independent. So for example if your program is out of focus, and then in focus again world.Update() will update physics to correspond the time that the program wasn't active. This means that all forces will be multiplied by the delay of the program. It is like physics didnt stop while the program is suspended. I hope that I explained it clear ( Sorry for my English ) If you call world.Update(1) then physics will "stop" when the program is suspended. After you're in focus again the physics will just continue as it was. As I understand its made for physics to be frame rate independent. But from my little experience, I figured that its not suitable in most cases.
  13. Hi! I think Ive found the problem. In Frward() you record body velocity. But in Rewind() you Set body force. Replace it to SetBodyVelocity() and it should work. [Edit] And also you should replace frameWork.Update() to: frameWork.main.world.Update(1); frameWork.background.world.Update(1); frameWork.transparency.world.Update(1); If you call just frameWork.Update() it will work as Rick mentioned.
  14. You shouldn't select lod object in max. Only the base object. The exporter exports LOD only if selection count == 1 unless you check Export to separate files.
  15. ArBuZ

    Aqua

    Its very nice and interesting concept!!(underwater game). I remember there was a game Deep Fighter. It was very exciting. Looking forward to see more on this. Nice music btw. Though its more space then aqua
  16. IK is just a method (technique) to animate your model. In sense of creating animation in 3d modeling program it has nothing to do with AI. There are just two basic animation techniques in 3d modelling/animating world of tools. Forward Kinematics and Inverse Kinematics. In first way when you're moving Parent the child goes with parent, and if you animate child it doesn't affect the parent. In the second way (IK) the child movements determines the parent(s) positions and rotations. In our case in 3ds max or any other program you can use any way of animating methods. In the end the exporter will collapse all animation, i.e. All animated objects will have keyframes in each frame. It just like move animation slider and record all positions and rotations of all exported objects(bones) in each frame. That what Lumooja is talking about is the way that you can create animation on the fly in game based on physics, AI, and other factors. (Hope I wrote this sentence right ) [EDIT] Ah, I forgot to say, If 3ds max is your primary tool for creating assets, then I can assure you that you will not have any problems with exporting your models if you will use my Leadwerks tools for 3ds max It supports almost everything. And if you will find any missing useful feature, I'll try to add it.
  17. There is only one power netbook I could find. It is ASUS Eee PC 1201N.
  18. Hi! Sorry for double post, but by mistake Ive posted it in C++ section and as I expected I haven't received any answer. I think only Josh can take care of this. But he is must be busy now and doesn't visit that forum section. Its strange that still nobody have met such problem. This problem even exists for scene entity. Please forgive me for second same post. But I really need some work around on this problem. Thanks in advanced. Here is the problem: If I have an object (for example Cube called "mesh") parented to some other object (another cube called "ground"). In main loop I make ray-cast (camera pick). The both cubes are visible and they are visible for ray-cast. Now I hide the cube "mesh" (the child). And it is still visible for ray-cast!!! I want to hide different parts of some model, and make this parts unavailable for ray-casting, but the rest of the model should be visible and available for ray-casting. And the Scene entity - is a parent of all entities, so I cant hide any scene child from ray-cast. As I understand this problem is consequence of new octree culling system in the engine. But I really need the way as raycasting worked before. Or I will need to do a lot of tricks to make things to work. Here is simple example of the problem. Space - hide the cube. In main loop I make raycast each loop and display the name of picked entity. // ==================================================================== // This file was generated by Leadwerks C++/LEO/BlitzMax Project Wizard // Written by Rimfrost Software // http://www.rimfrost.com // ==================================================================== #include "leo.h" using namespace LEO ; int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { Engine engine( "VectorTest", 800, 600 ) ; Engine::SetAbstractPath( "C:/Leadwerks Engine SDK" ) ; Engine::SetFilters() ; World world( CREATENOW ) ; if( !world.IsValid() ) { MessageBoxA(0,"Error","Failed to create world.",MB_OK); return engine.Free() ; } Buffer gbuffer( Engine::GetWidth(), Engine::GetHeight() ); Camera camera( CREATENOW ); camera.SetPosition( 0, 0, -2 ); Material material("abstract::cobblestones.mat") ; Cube mesh( CREATENOW ) ; mesh.Paint( material ) ; mesh.SetKey("Name","Cube"); Cube ground( CREATENOW ) ; ground.SetScale( 10, 1, 10 ); ground.SetPosition( 0, -2, 0 ); ground.Paint( material ) ; mesh.SetParent(ground); DirectionalLight light( CREATENOW ) ; light.SetRotation( 45 , 45, 45 ); Source source; //myClass myC("abstract::gunshot.ogg"); //myClass myC2("abstract::reload.ogg"); std::string name=""; TVec3 pos; Pick picked; // Game loop while( !Keyboard::I****() && !Engine::IsTerminated() ) { if( !Engine::IsSuspended() ) // We are not in focus! { pos=Mouse::GetPosition(); pos.Z=50; if (camera.GetPick(picked,pos)) { name=GetEntityKey(picked.entity,"Name"); } else name=""; if (Keyboard::I****(KEY_SPACE)) { if (mesh.IsHidden()) mesh.Show(); else mesh.Hide(); } // Rotate cube //mesh.Turn( Vec3( 0.5f*AppSpeed() ) ) ; // Update timing and world Engine::UpdateTime(); World::Update( Engine::GetSpeed()) ; // Render gbuffer.Set(); World::Render() ; Engine::GetBackBuffer().Set() ; World::RenderLights(gbuffer); // Send to screen Draw::Text(0,0,"%s",name.c_str()); Engine::Flip(0) ; } } // Done return engine.Free() ; }
  19. They can not. I guess, this post was moved from general discussion board. Now if he wants to have an answer, he have to buy the engine
  20. Maybe SetEntityTarget() will be suitable for this. Also as I remember it automatically handles deleted entities. So if you delete the tower and the beam, GetEntityTarget() of the second tower will return NULL.
  21. If I have an object (for example Cube called "mesh") parented to some other object (another cube called "ground"). In main loop I make ray-cast (camera pick). The both cubes are visible and they are visible for ray-cast. Now I hide the cube "mesh" (the child). And it is still visible for ray-cast!!! Its not a big problem in the example. But I want to hide different parts of some model, and make this parts unavailable for ray-casting, but the rest of the model should be visible and available for ray-casting. As I understand this problem is consequence of new octree culling system in the engine. But I really need the way as raycasting worked before. Or I will need to do a lot of tricks to make things to work. Here is simple example of the problem. Space - hide the cube. // ==================================================================== // This file was generated by Leadwerks C++/LEO/BlitzMax Project Wizard // Written by Rimfrost Software // http://www.rimfrost.com // ==================================================================== #include "leo.h" using namespace LEO ; int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { Engine engine( "VectorTest", 800, 600 ) ; Engine::SetAbstractPath( "C:/Leadwerks Engine SDK" ) ; Engine::SetFilters() ; World world( CREATENOW ) ; if( !world.IsValid() ) { MessageBoxA(0,"Error","Failed to create world.",MB_OK); return engine.Free() ; } Buffer gbuffer( Engine::GetWidth(), Engine::GetHeight() ); Camera camera( CREATENOW ); camera.SetPosition( 0, 0, -2 ); Material material("abstract::cobblestones.mat") ; Cube mesh( CREATENOW ) ; mesh.Paint( material ) ; mesh.SetKey("Name","Cube"); Cube ground( CREATENOW ) ; ground.SetScale( 10, 1, 10 ); ground.SetPosition( 0, -2, 0 ); ground.Paint( material ) ; mesh.SetParent(ground); DirectionalLight light( CREATENOW ) ; light.SetRotation( 45 , 45, 45 ); Source source; //myClass myC("abstract::gunshot.ogg"); //myClass myC2("abstract::reload.ogg"); std::string name=""; TVec3 pos; Pick picked; // Game loop while( !Keyboard::I****() && !Engine::IsTerminated() ) { if( !Engine::IsSuspended() ) // We are not in focus! { pos=Mouse::GetPosition(); pos.Z=50; if (camera.GetPick(picked,pos)) { name=GetEntityKey(picked.entity,"Name"); } else name=""; if (Keyboard::I****(KEY_SPACE)) { if (mesh.IsHidden()) mesh.Show(); else mesh.Hide(); } // Rotate cube //mesh.Turn( Vec3( 0.5f*AppSpeed() ) ) ; // Update timing and world Engine::UpdateTime(); World::Update( Engine::GetSpeed()) ; // Render gbuffer.Set(); World::Render() ; Engine::GetBackBuffer().Set() ; World::RenderLights(gbuffer); // Send to screen Draw::Text(0,0,"%s",name.c_str()); Engine::Flip(0) ; } } // Done return engine.Free() ; }
  22. Hi! in LE 2.3 in LEO there was the command Draw::GetFontHeight() But now there is not. is there any analog of this command in LEO in another place? [EDIT:] Ah.. Iv found it in LEO::Font class! Damn, I have to fix my code now.
  23. Actually it is already supports automatic generation of lua files It passes all user defined properties in lua file. So in the editor you can edit them. I described this process in pdf.
  24. Does anybody have any problems with this tool? Or maybe someone has suggestions about functionality. Im going to make new release with some fixes and one new option.
×
×
  • Create New...