Jump to content

Josh

Staff
  • Posts

    24,629
  • Joined

  • Last visited

Everything posted by Josh

  1. Here are my proposed changes: Creating an object by clicking on the object type in the create menu (like Unity does) is not a good solution in Ultra for two reasons: CSG editing is a core part of our workflow, and it involves the concept of "the current selected type of object that is to be created". If a 1x1x1 CSG box just materialized in front of the camera when that menu item was selected, it would ruin the user's ability to sketch out a hallway. We want precise placement of point entities, which Unity's object creation mode from the menu does not do very well. A separate create tool will be added, appearing in the mouse tool buttons before the movement tool. This tool mode must be selected in order for click-and-drag (brushes) or just click (point entities) to start object creation. This tool mode can not select objects, so the conflict between object selection and point entity creation is no longer a problem, and will prevent accidental object creation when you are using other mouse tools. Objects will no longer be created instantly when you release the mouse, but the outline will be visible. You can then press Enter to create or right-click the mouse and a single "Create" menu item will appear, which you can click to proceed with creation (how old-school Hammer does it). Object types that involve creation parameters (like cylinders) will then show a small window with the parameters you can adjust, and then press OK or hit enter again, or escape to cancel. If a point entity is selected as the current object type, the blue cross will appear immediately when you click the mouse, if the create object mouse tool is active. The blue cross can be adjusted in different viewports, and when you are ready you can either press enter to create the object or right-click and select the "Create" popup menu that appears. The object panel will be removed, since the creation parameters are in a pop-up window, and the object type can be selected from the main menu. For more expert usage, a key combo can be used to create an object while using a different tool. If you have the scale tool in use and you hold maybe Shift+Alt and click the mouse, it starts the creation routine instead of selecting an object. This provides a way for prolific users to quickly create something without clicking back to the creation tool, but still prevents accidental object creation. I also have been planning to add a little "+" sign button next to the search bar that will allow you to instantly add any object to the scene. When you click this button it would show a pop-up menu with all the available object types, and clicking on one of them would do the instant creation thing without any mouse input. Maybe this will parent the new object to the currently selected node in the scene tree, or maybe it will create it right in front of the camera. Some experimentation is needed here. For the terrain editor tool, I propose making it so mouse selection only works on terrain. If you click on the empty background or on an object that is not a terrain, nothing happens. The only way to deselect the current terrain is to click on another terrain, or hold the control key while clicking on a selected terrain (normal selection toggling). This will prevent accidental de-selection of a terrain while you are painting or sculpting it. It may also be beneficial to make the terrain mouse tool button disabled if no terrain is selected. Maybe the same should be done for the brush face and vertex tools, if no brush is selected.
  2. Thanks for the extra info. Some of this is already reported here, and a sample has been submitted to AMD:
  3. In 2D viewports, the amount of padding you have when selecting a brush's wireframe edge is now scaled by the DPI scaling factor, so if you have a high-density display it will be easier to click on brushes.
  4. Do you mean have a parameter in the object creation parameters for the UV scale, like how the cylinders have a parameter for the number of sides? Modifying the UV scale of a brush is normally done through the face properties. Is that not suitable for what you are describing?
  5. The brush drawing tool will no longer perform a raycast when starting a draw in any 2D viewport, to try to place the brush on top of what is under the cursor. Instead, it will use the bounds of the last selected object(s) for the size and position on the remaining axis. So for example if you are drawing a brush in the top-down view, the Y position and size will be the same as the bounds of whatever was last selected. It just uses the last dimensions drawn or selected as the missing axis. I feel this is a big improvement.
  6. I am not able to duplicate this error. I notice you are using version 0.9.1. If you switch to the beta branch on Steam does this still happen with 0.9.2?
  7. Ultra will always have higher system requirements than Leadwerks, but most Intel graphics chips are likely to be supported in the future. I know what the issue is but I have to write some fallbacks to accommodate them.
  8. In the process of explaining the problem I think I solved it. Update is incoming later today.
  9. I have submitted an issue to Recast here: https://github.com/recastnavigation/recastnavigation/issues/679
  10. I think this is being caused by this strange calculation I needed for the creation parameters: //https://github.com/recastnavigation/recastnavigation/blob/ddaa361b0893ddc7602a3bd5c20ad2cfd0a8df7c/RecastDemo/Source/Sample_TileMesh.cpp#L254 int tileBits = NavMesh::rcMin((int)NavMesh::ilog2(NavMesh::nextPow2(tw * th)), 14); if (tileBits > 14) tileBits = 14; int polyBits = 22 - tileBits; params.maxTiles = 1 << tileBits; params.maxPolys = 1 << polyBits;
  11. I added some more debugging messages and whenever I go over 8x8 I get errors that say "operation ran out of memory". This occurs no matter what I set tile resolution to...
  12. I see an error printing in the console, but I don't actually see any problem with the generated navmesh. Do you? navtest.zip
  13. Just copy and paste this into the console: b = CreateBox(program.world) g = CreateGameObject(b) program:SelectNone() g:SetSelected(true) g:SetName("MY BOX!!!") program.sidepanel:SelectItem(3) EmitEvent(EVENT_WIDGETSELECT, program.sidepanel, 3) Requires the standalone build, dev channel.
  14. The minimum size for the scaling tool is now equal to the grid size of the active viewport.
  15. I think this is the correct behavior. Windows enters a loop when you start dragging. You might be able to get around it using a timer and ListenEvent, but I think for most people this will be the expected behavior and there's nothing wrong with it
  16. Yeah, I was using vertices for the rounding and I think that is not good, so I disabled it. I think I want to do some CPU rasterization to generate images for rounded blocks, and for blocks with a gradient.
  17. By default, your position in the real world and virtual world are the same. If you call SetOffset(1,0,0) then your position in the virtual world will be shifted one meter to the right.
  18. I think this is a repeat of this, which is solved
  19. Updated C++ lib and lua exes with recent fixes from bug report forum.
×
×
  • Create New...