Jump to content

Josh

Staff
  • Posts

    23,330
  • Joined

  • Last visited

Everything posted by Josh

  1. When you select an embedded texture in the tree view the view switches over to the texture, and texture properties are shown. This is much better than what I had before:
  2. In fact, it probably is not necessary to show a list of embedded materials in the file. That would be designed from the programmer's point of view. It could be more relevant to the end user if the material properties are listed on the mesh the material is applied to: I feel like this approach is designed with the end user in mind, instead of worshipping the code/data and treating the end user like garbage.
  3. It might not be hard to export the Blender mass value in the glTF file: https://github.com/KhronosGroup/glTF-Blender-IO
  4. That's a good point. I think we should draw the line at trying to store other entity types in glTF. However, you can set the mass and other properties of a limb and save that in the glTF file, so it does eliminate the need for some simple prefabs. In my experience 90% of prefabs are just a model with a collider and a setting for mass to make the model physically interactive.
  5. A lot of the objects in glTF have an "extras" property in the spec, so for things that you have no intention of usage outside your own app, that's the place to put that information. So the extended properties extension mentioned above is axed.
  6. This can actually get rid of the need for prefabs because every engine property can be embedded in the glTF. However, if the model is resaved in another program those properties will probably be lost.
  7. The best way to describe it is that the tabs make me feel "claustrophobic".
  8. One big difference between glTF and Leadwerks models is all the materials are embedded in a glTF file. You can apply an external material file to it, but its contents will get copied into the glTF, instead of referencing the original material file. So material files are really just for CSG solids.
  9. Here's an idea. Add a property grid in the bottom half of the hierarchy panel. When an embedded material or texture is selected, show its properties there where you can edit them and see the effect on the model.
  10. Here's a revision. The relative file path is shown in the window titlebar. I also made the menu and status bars span the entire window. This wastes some vertical space the side panel was using before, but the lines looks a lot cleaner this way.
  11. I'm thinking the Leadwerks way is probably perfect. It shows everything at once, and it prevents you from opening too many files at once.
  12. Something like this might be better for models with embedded assets, where you can select a material or texture in the tree on the left, and then the properties on the right show the item properties. If you use tabs for a window like this, then you end up with something that looks kind of odd when a texture or material is selected. Since there is no need for any left-side pane for these assets, the window looks quite wide for them.
  13. I uploaded another build that opens each asset in its own window, called "UltraEngine_b.exe", so you can run both and compare. It would be better if a new window was offset from the previous one a little bit, instead of being in the same default position/size but that can be added later. Right now I just want to get this out to you as fast as possible so your input can help steer the design.
  14. Here we have three items opened with the tabs removed so each asset opens in its own window. I also replaced the window text with the name of the file:
  15. Here's a quick test. I opened a model in one window and two textures in the other window. Not sure about the tabs, they make things confused and complicated...
  16. Here's a mockup. I don't know if I like it. When you open a material's texture, what would happen? Would it open on the left panel? What if you change a texture setting and want to see the effect on the model? There are some other options: Make each asset open in its own window (one Asset Editor window for each opened file) Make a model editor, material editor, and texture editor window like in Leadwerks Don't worry about this and leave the behavior as-is Leadwerks, for comparison. What I like about this is you can instantly see all the properties for every file at a glance. If you focus on one of these files, you find what you are looking for with a picture, instead of searching for the right file name in a tab.
  17. Josh

    Dungeon Skank

    So the walls you are creating, they are from a pre-formed piece segment, right?
  18. The one part of the new editor I am experiencing some friction is when I adjust material settings and want to see their effect on a model that uses that material. Switching back and forth between tabs each time you change something is tedious. Leadwerks avoided this problem by opening textures, materials, and models in separate editor interfaces that were designed differently from one another, and Ultra is using a single interface with tabs. Do you have any ideas of how to get around this without making the interface confusing? I'd rather not have a bunch of options like "Open asset in new window" / "Open in new tab" because it forces the user to craft their own UI. I'd rather things just work simply and intuitively by default, without the user even noticing. Do you have any other suggestions to improve the workflow so far?
  19. This is the code I used to make the tessellation comparison screenshot: #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a world auto world = CreateWorld(); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a camera auto camera = CreateCamera(world); camera->SetClearColor(0.125); camera->SetFov(70); camera->SetPosition(0, 1.5, 0); camera->SetRotation(90, 0, 0); camera->SetWireframe(true); world->SetAmbientLight(1); //Create a box auto p1 = CreatePlane(world, 1, 1, 1, 1, MESH_TRIANGLES); p1->SetPosition(-0.75, 0, 0); auto p2 = CreatePlane(world, 1, 1, 1, 1, MESH_QUADS); p2->SetPosition(0.75, 0, 0); auto mtl = CreateMaterial(); mtl->SetTessellation(true); p1->SetMaterial(mtl); p2->SetMaterial(mtl); camera->SetTessellation(20); //Main loop while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { if (window->KeyDown(KEY_UP)) camera->Move(0, 0, 0.01); if (window->KeyDown(KEY_DOWN)) camera->Move(0, 0, -0.01); world->Update(); world->Render(framebuffer); } return 0; }
  20. Updated 1.0.2 First build of "Asset Explorer", the precursor to the Ultra Engine editor is up. Run "UltraEngine.exe" in the client install directory to run it. The first thing you should do is select the File > Open Folder menu item and select one of your Ultra Engine project folders. The rest should be pretty self-explanatory, especially if you have used Leadwerks before. It's still the early days but the app is already very useful for file format conversion and fine-tuning of textures. Please let me know what you think, especially regarding the workflow and design choices.
  21. I'm going to create a formal spec for the quads extension: https://github.com/UltraEngine/glTF/blob/main/extensions/2.0/Vendor/ULTRA_primitive_quads/README.md
  22. Josh

    Rock Detail

    There's a few pointy edges that could actually be solved with the vertex displacement feature.
  23. Josh

    Rock Detail

    8k textures and tessellation
  24. Vulkan accepts quads and ngons but in wireframe they will appear like triangles.
×
×
  • Create New...