Jump to content

Josh

Staff
  • Posts

    23,504
  • Joined

  • Last visited

Community Answers

  1. Josh's post in Drag/Drop of files from explorer to the Editor uses wrong folder was marked as the answer   
    Fixed.
  2. Josh's post in Widget->SetText documentation error was marked as the answer   
    thanks
  3. Josh's post in Instantiate does not inherit gravity mode was marked as the answer   
    Easy fix, thanks for reporting.
  4. Josh's post in Parents keep children alive was marked as the answer   
    Yes, this is the correct behavior. Otherwise if you loaded a model, all the limbs would get deleted automatically unless you created a variable for each object in the hierarchy.
  5. Josh's post in Will the engine be source available. was marked as the answer   
    No, never.
    This week I am focusing on bug fixes and enhancements to the editor, but I will be focusing again on hardware compatibility soon.
  6. Josh's post in Issue with SetRotation() Function in Test Project was marked as the answer   
    You are experiencing something called Gimbal lock:

    https://en.wikipedia.org/wiki/Gimbal_lock
    The solution is to rotate the mesh in your modeling program so it's not pointing near +/- 90 degrees.
  7. Josh's post in Component Window Hidden by Taskbar. was marked as the answer   
    Fixed.

  8. Josh's post in Cant create new objects was marked as the answer   
    Press Enter or right-click and select the Create popup menu item.
    Object types that require extra parameters like cylinders and terrain will crash the program right now. I am finishing it today.
    This is only on the beta / dev branch, the stable branch still works the same as before.
  9. Josh's post in Create terrain crash editor was marked as the answer   
    This is a known issue in the dev channel right now, due to changes in the object creation process. It will be fixed shortly.
  10. Josh's post in Editor crashes when trying to create cylinder or cone primitives with latest beta build was marked as the answer   
    We are on a new version now and it will be going through some experimental changes. If you need something more stable, 0.9.2 is now on the default branch.
  11. Josh's post in Face Offset for brush does not work correctly (U,V) was marked as the answer   
    This change will be in the next build.
  12. Josh's post in My ball doesn't move in its own direction was marked as the answer   
    You are correct. This will be fixed in the next build that is uploaded.
  13. Josh's post in Undo doesn't work for applying materials was marked as the answer   
    Fixed in incoming update...
  14. Josh's post in Problemm with the creation for biger nav meshes was marked as the answer   
    In the process of explaining the problem I think I solved it. Update is incoming later today.
  15. Josh's post in When restarting Ultra Engine values that are true are "false" was marked as the answer   
    This has been fixed in 0.9.2
  16. Josh's post in REndered viewport crashes and needs to be refreshed was marked as the answer   
    I think this is a repeat of this, which is solved
     
  17. Josh's post in Editor Render View Turns White in 3D Perspective was marked as the answer   
    Fixed
  18. Josh's post in After recreation with clearing a widgets thats stores in a vector of custom widgets are now visible was marked as the answer   
    I believe this is fixed. Uploading now...
  19. Josh's post in How to create an UI was marked as the answer   
    You can set the background / root panel's background color to 0,0,0,0 to make is see-through. Then create a smaller panel on it for your visible GUI area.
  20. Josh's post in C++ project won't start was marked as the answer   
    When the project was created, the editor should have asked to create an environment variable. It will create a system environment variable like this, which tells the compiler where to find required files:

  21. Josh's post in Is this engine is built around ECS or OOP? was marked as the answer   
    The short answer to your question is yes. 
    The engine is design as an object-oriented C++ framework. If you wish to use it, you have full control over the program at the very base level. This is also nice for documentation because it allows us to demonstrate how a command works in a very simple program:
    #include "UltraEngine.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays auto displays = GetDisplays(); //Create window auto window = CreateWindow("Ultra Engine", 0, 0, 800, 600, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create world auto world = CreateWorld(); //Create framebuffer auto framebuffer = CreateFramebuffer(window); //Create a camera auto camera = CreateCamera(world); //Main loop while (not window->Closed() and not window->KeyDown(KEY_ESCAPE)) { world->Update(); world->Render(framebuffer); } return 0; } An entity component system is also available, which is particularly useful for setting up object properties in the editor and then accessing them in component code in your game:
    https://www.ultraengine.com/learn/Component
    Someone who is making something like a space game with all procedurally placed content would not need the editor, and might not need the ECS at all. Someone else who is using the editor a lot for level design will probably want to rely on the ECS in order to set up properties in the editor and access them in the game.
    The ECS is also good for user-created modular code that can be reused in many projects.
    You don't have to choose between one or the other. You can use the ECS and you still have access to the main function in case you want to do something special there. I like to use the OOP approach for documentation examples because the user can just copy and paste one block of code into any project, without a lot of complicated setup, but the functionality demonstrated can be implemented in any entity component.
  22. Josh's post in Playing sounds simultaneously causes a crash when last sounds stop playing was marked as the answer   
    Thank you, I found the cause. I think I will wait until Tuesday to upload any more changes.

  23. Josh's post in Adding NavMesh via editor and in code causes it not to show up in the scene was marked as the answer   
    It looks like the error is only in the editor, and not in the engine library itself. I updated the editor and this example works:
    start.zip
    #include "UltraEngine.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { auto cl = ParseCommandLine(argc, argv); //Load FreeImage plugin (optional) auto fiplugin = LoadPlugin("Plugins/FITextureLoader"); //Get the displays auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280 * displays[0]->scale, 720 * displays[0]->scale, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a world auto world = CreateWorld(); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Load the map WString mapname = "Maps/start.ultra"; auto scene = LoadMap(world, mapname); auto navmesh = scene->navmeshes[0]; navmesh->SetDebugging(true); auto agent = CreateNavAgent(navmesh); auto player = CreateBox(world); player->SetColor(0, 1, 0); player->Attach(agent); auto camera = CreateCamera(world); camera->SetPosition(0, 1, -4); //Main loop while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { if (window->KeyHit(KEY_SPACE)) agent->Navigate(1, 0, 0); world->Update(); world->Render(framebuffer); } return 0; }  
  24. Josh's post in this nullptr exception was marked as the answer   
    In MouseMovementController.cpp, GetComponent is returning null:
    else if (!pick.entity->tags.empty()) { for (auto tag : pick.entity->tags) { if (tag == "gather_water_task") { auto task = entity->GetComponent<GatherWaterTask>(); task->OnTaskStart(entity, pick.entity);// set a breakpoint here and look at the task variable break; } } }  
  25. Josh's post in Adding terrain and then sculpting crashed the editor to Windows was marked as the answer   
    Error code -4 is VK_ERROR_DEVICE_LOST. Please see this solution:
     
×
×
  • Create New...