Jump to content

Josh

Staff
  • Posts

    23,093
  • Joined

  • Last visited

Everything posted by Josh

  1. UltraEngine_c.exe is updated, and the required post-processing effect is added. Sync your project to get the files. This will highlight select limbs and meshes in blue, and when a material node is selected in the tree, all meshes that use that material will be highlighted with yellow. The outline effect won't work in your game without a little extra setup. I'll add an example to show how.
  2. I'm using the render layers to draw the selected objects to a separate camera that is rendering to a texture, with a post-processing effect that highlights edges based on depth being less than 1.0. Then that image is applied to a sprite that appears on top of the scene, and viola, selected objects are highlighted. It uses three cameras, one for the main scene, one to render the selected objects, and then another for to draw the sprite with orthographic projection on top of the scene.
  3. I'm working out a better approach to the selection highlight. This shows the edge outline on top of other objects, while the original object stays underneath in the correct Z-order. I think they did this in Left 4 Dead to show your teammate's outline through walls. This is possible without too much trouble due to the wonderful multi-camera / post-processing / 2D rendering system.
  4. A new build of the editor is up. I called this "UltraEngine_c.exe" so you can still compare it with the earlier versions. Selection highlight is not working yet. I need to work this out carefully. You can ignore any error about an outline post-effect failing to load. This build makes a big improvement to the asset workflow. Each asset opens in a new window All embedded assets are viewed and edited within the window of the model they are stored in You can click in the 3D viewport to select meshes The Mesh > Material and Material > Textures properties now contain a lot of options packed into the combo boxes You can jump to a material or texture with the "Edit..." option in the comboboxes 3D navigation is much smoother now. Left click selects, right click rotates the camera, middle mouse button pans No pan or zoom right now when viewing textures because that's not what I am focusing on I recommend opening some glTF, OBJ, and Leadwerks MDL files to see how it works. Also try out some .glb files, as these are the only files that support embedded textures: https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/Lantern/glTF-Binary https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/DamagedHelmet/glTF-Binary Please try it and let me know what you think of the design and workflow.
  5. Updated 1.0.2 Fixed Model::Collapse mesh rotation Fixed BC4 compression Fixed Combobox RemoveItem Fixed Combobox SetItemState Widget::RemoveItem will now select the nearest item within the valid range Added WritePixel, Fill, and Sample overloads Support for more pixel format conversions
  6. Since you are adding a fixed amount to the current frame each time, I think you will need to multiply that by the speed to handle differing framerates.
  7. No pressure, I am just observing its wonder and awe
  8. Actually, you can use Script:Draw if you keep track of the timing. Then the animation only gets updated when the entity is drawn. Ultra is so much simpler in some aspects, it just has Update().
  9. Josh

    Project Packager

    @AlienheadYes https://www.ultraengine.com/learn/LoadPackage?lang=cpp https://www.ultraengine.com/learn/Package_SetPassword?lang=cpp I mean no, it is not out of the question....
  10. In Ultra Engine, meshes have a name...
  11. I think the one-shot animation issue is something I only discovered in the Ultra code that carried over from Leadwerks. The best thing to do here is control the animation frame by setting it in each Update call. You can set the exact frame time of an animation with Entity::SetAnimationFrame
  12. Josh

    Project Packager

    The big title text looks good. Nice interface. The only suggestion I would make is to try centering the Build button.
  13. Josh

    Selection Outline

    There's already an Entity::SetSelected method, but it doesn't really do anything. The next build will include a post-processing effect that outlines selected objects like this.
  14. Josh

    Selection Outline

    This worked perfectly on the first try. I think I am a good programmer.
  15. Why in the world did they design it like this?: "KHR_materials_variants" : { "mappings": [ { "material": 2, "variants": [0, 3], }, { "material": 4, "variants": [1], }, { "material": 5, "variants": [2], }, ], When what they really meant was this: "KHR_materials_variants" : { "mappings": [2, 4, 5, 2] },
  16. It looks like the material variant feature is supported in the official Blender exporter. https://docs.blender.org/manual/en/3.4/addons/import_export/scene_gltf2.html#gltf-variants You might want to look into that and see how it works. And here is a sample model using the feature: https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/MaterialsVariantsShoe It looks like this is the right way to go.
  17. Actually using a 3D texture would be a really bad idea because the mipmaps gets blended together on the Z axis as well, so the separate skin mipmaps would start to bleed into each other...scratch that.
  18. Here's a 3D texture in the editor. You can scroll through the layers and view each slice, so 3D textures aren't (figuratively) opaque any more they used to be. There is some per-object scrolling stuff in there, which could handle both animation and skin switching. However, I might have had to make room to fit a lightmap index in...I will need to revisit this and see what can be done.
  19. There's something like that here: https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_variants/README.md I don't know what applications support it or how it would fit into the rendering pipeline yet...
  20. Josh

    Editing Embedded Textures

    This shows how textures embedded in a 3D model file (glTF or other) can be viewed and edited. The design is flowing really really well now. Notice the window title says this file is "DamagedHelmet.glb" so when you make any changes to the texture, the GLB file is considered modified, and the window will prompt you to save your changes before closing.
  21. I added a field that lists all the texture file formats used so you can tell at a glance whether the glTF is optimized or not.
  22. Extending the combobox usage to add a field for the mesh material works out better. You can jump to the material, select a new one, remove it, and browse for a file, within a very simple interface.
  23. In practice you don't really want to use .glb with embedded textures because you will want to convert your textures to DDS or Basis. When you save as glTF (text file with an accompanying binary file) you can then publish your game with just the optimized textures and leave the PNG files out of your game.
×
×
  • Create New...