* New light Lightmass setting 'bUseAreaShadowsForStationaryLight'
* Removed 'DistanceFieldPenumbraSize' project setting, uniform penumbra size comes from each light's LightSourceAngle or SourceRadius using a heuristic now
[CL 2590302 by Daniel Wright in Main branch]
UEditorEngine cleanup:
- Split all UEditorEngine methods from Editor.cpp into EditorEngine.cpp (though more are still scattered around in other files like EditorServer.cpp)
- Removed GetClassFromPairMap, ClassMapPair, and associated keyboard shortcuts to place nav pylons, since they don't exist anymore
- Removed dead variable StreamingBoundsTexture and associated method SetStreamingBoundsTexture
- Split out the implementations of SplitActorLabel and SetActorLabelUnique into statics on FActorLabelUtilities, the non-static versions will be deprecated in the future
- Moved SoundWaveQualityPreview to be a static in FSoundPreviewThread
- Moved FPreviewInfo into DlgSoundWaveOptions.h
- Removed empty method HandleCreateMeshFromBSPCommand and associated exec command
GWorld cleanup:
- Removed EditorClearComponents and updated the few existing uses to call ClearWorldComponents directly on their world reference
- Removed UpdateSkyCaptures and updated the only existing use to call UpdateAllSkyCaptures directly on a world reference
[CL 2515212 by Michael Noland in Main branch]
#jira UE-1143 - LIVE: Include option to view Orthographic views from both angles Front Back Left Right Top Bottom
#reviewedby Matt.Kuhlenschmidt
[CL 2480276 by Richard TalbotWatkin in Main branch]
[UE-7812] - Pivot location of a component in world is properly transformed to be in the same space as the component
[CL 2425830 by Ben Marsh in Main branch]
[UE-8251] [UE-8216] - Can no longer have a component selected in addition to an actor that isn't the component owner
- Fixed a number of undo issues with the new in-tree Actor root node
- Fixed undo issue where going from select component->select different actor->undo would cause the different actor to incorrectly still be flagged as selected
- Fixed component selection visualization undo issues (components were not being modified when override delegates were bound/unbound)
[CL 2425757 by Ben Marsh in Main branch]
In-world component editing
- Proper name is given to a new component on creation and when pasting nodes for IWCE component tree
UE-7864 - fixed as by-product of naming changes
UE-7831 - numbering follows the same pattern as the blueprint SCS editor
UE-7801 - Selection & selection overrides all work for "invisible" components that have an editor-only component
[CL 2419481 by Ben Marsh in Main branch]
- Removed CDO-editing capabilities of in-world component editing
- Level details SCS tree now refreshes instead of being reconstructed
- Updated SCSEditor::GetNodeFromActorComponent to work in ActorInstance mode
- Cannot select hidden editor-only components in the world
[CL 2409822 by Dan Hertzka in Main branch]
- Right-clicking a selected actor will open the context menu, not select the component
- Clicking the selected actor will not select a component if the click also focused the level viewport
- Right-clicking a selected component opens a 1-option context menu to select the owning actor
[CL 2402541 by Dan Hertzka in Main branch]
- Must enable experimental In-World Component Editing
- To select a component in the world, click on the component when the owning actor is already selected
[CL 2401364 by Dan Hertzka in Main branch]
#ttp 323078 - Actor drag preview does not respect actor factory spawn position offset
#ttp 309631 - TOOLS FEATURE: Asset placement: Align placed assets with surface placed on
#ttp 335001 - UE4: EDITOR:"Paste here" works inconsistently
#ttp 334066 - EDITOR: PAPER2D: Dragging a mesh into an ortho viewport does not provide a preview
There is a lot of work here:
* I have moved and unified all the prop preview and drag alignment code that attempted to align objects to surfaces in the world to a new class, FActorPositioning. This fixes inconsistent behaviour between the drop previews, actual placement, and drag alignment.
* I have tidied up the methods by which surface alignment is performed in UActorFactory. There is now a virtual method for factories to define *how* an actor should be aligned to the surface. This allows us to specify different alignment routines for things like static meshes, decals and lights.
* Actor factories now create actors with an FTransform rather than specifying pointers to location and rotation vectors. This makes creation simpler and parameter passing less error prone. As far as I can see, the rotation was only used for surface snapping which is now handled by the factory anyway.
* Surface snapping can be controlled by the editor viewport toggle button, or via a keyboard command set in the editor preferences
* It is possible to override the default placement offset when aligning actors to surfaces. SnapOffsetExtent can be found in the editor viewport preferences.
* Finding a valid snap position no longer uses a hitproxy as this was prone to error and does not work correctly when dragging actors that render their own hit proxies.
* ClickLocation and ClickPlane are now more consistently set and managed. I have tried to remove excess assignment to these variables to clarify their use and purpose.
[CL 2223237 by Andrew Rodham in Main branch]
Breaking changes include:
* Rename of GEditorModeTools -> GLevelEditorModeTools to signify that it applies only to the level editor modes
* Addition of FEditorModeRegistry, responsible for managing and creating new editor modes. Modes are no longer registered with an instance of the mode, instead with a mode factory that is able to create a new mode of that type.
* Editor modes now operate on FEditorViewportClients rather than FLevelEditorViewportClients
* Added ability to specify an FEditorModeTools when creating an FEditorViewport
Moved component vizualiser manager handling outside of individual editor modes, and into FLevelEditorViewportClient. This should make it easier to transplant in future.
This work addresses TTP#334640 - EDITOR: Investigate making editor modes a per-'editor' concept
Reviewed by Michael Noland, Matt Kuhlenschmidt
[CL 2109245 by Andrew Rodham in Main branch]
#ttp 331756 - UE4: unable to deselect a BSP brush once selected
#branch UE4
#proj Editor.UnrealEd
#add When toggling the selection state of a BSP surface, if afterwards there are no surfaces selected, the BSP actor will also be deselected (in ClickHandlers::ClickSurface).
#reviewedby Chris.Wood, Max.Preussner
[CL 2056460 by Richard TalbotWatkin in Main branch]