Commit Graph

47 Commits

Author SHA1 Message Date
Dan Hertzka
f3092790eb Window menu refactor & polish
- Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes.

- Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely.

- Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category.

- Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly.

- Added & updated lots of icons! (those missing will be TTP'd)

- The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability.

- Unreal frontend options were also moved into a context menu within the General section

- Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category

- Undo history now under Edit menu

[CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
Mikolaj Sieluzycki
c92ca070d1 Move references to UObjects from FCoreDelegates to FCoreUObjectDelegates
TTP #343071 CORE: FCoreDelegates should not have references to UObjects.
#codereview Robert.Manuszewski

[CL 2317144 by Mikolaj Sieluzycki in Main branch]
2014-10-02 06:13:35 -04:00
Michael Noland
928559eaa0 Editor: Coding-standards fixes (TypeName [*|&] VariableName -> TypeName[*|&] VariableName)
[CL 2316341 by Michael Noland in Main branch]
2014-10-01 14:45:23 -04:00
Andrew Brown
a69c828b0f Missing file from CL#2305555
[CL 2305585 by Andrew Brown in Main branch]
2014-09-22 10:43:45 -04:00
Andrew Brown
7c0d45da38 Creating new static mesh collision enables collision view (if not already enabled)
#ttp 345296 - NUX: When creating collision in static mesh editor, enable collision viewing so you can see result

#branch UE4

#change Also added a param to AddPrim to specify whether we want to clear the selection, just to remove duplicate code.

reviewed by Thomas.Sarkanen

[CL 2305555 by Andrew Brown in Main branch]
2014-09-22 10:22:29 -04:00
Benn Gallagher
bcb59661de Fix to LOD screen sizes not working at small values, and delta shifting into negative values.
[CL 2300940 by Benn Gallagher in Main branch]
2014-09-17 09:45:51 -04:00
Andrew Brown
e242079576 Prevent new collision overlapping existing collision
#ttp 345297 - NUX: Improve workflow for SME collision editing

#branch UE4

#change Modified Collision options to say 'Add' to indicate you're adding primitives and not replacing existing.

#change When adding a new collision primitive, it now does a quick check to see if there's another primitive that's the same and if so, moves the new one slightly so they don't overlap - the hope is that this also makes it clearer that you're adding primitives.

Note: Also includes change from 2280280 which enables Show Collision if it's modified

reviewed by Thomas.Sarkanen

[CL 2299231 by Andrew Brown in Main branch]
2014-09-16 04:20:39 -04:00
Andrew Brown
9f21a2716e Enable Static Mesh Collision view, by default
#nonttp

#branch UE4

[CL 2297893 by Andrew Brown in Main branch]
2014-09-15 05:34:40 -04:00
Ori Cohen
2958e1af05 Improve auto collision generation.
- if any changes to collision or custom collision don't generate
- advanced option to let you disable collision generation

[CL 2292968 by Ori Cohen in Main branch]
2014-09-10 17:19:28 -04:00
Ori Cohen
4f751f0943 Fix case where deleting collision in static mesh editor cauess cooked physics data to get out of sync.
Add editor code to fix cooked data if out of sync

TTP#345845

[CL 2291024 by Ori Cohen in Main branch]
2014-09-09 12:34:40 -04:00
Brian Karis
9d26f950d0 Tore out D3DX generate UVs and the mesh editor tab for it.
[CL 2285473 by Brian Karis in Main branch]
2014-09-04 19:57:12 -04:00
Brian Karis
108371e776 Generate lightmap UVs on mesh import.
Moved layout UVs to static mesh build process.

[CL 2285439 by Brian Karis in Main branch]
2014-09-04 19:22:07 -04:00
bruce nesbit
352cad9cca Fixed crash in StaticMeshEditorViewportClient.cpp (Added a null check)
#codereview Daniel.Wright

[CL 2277685 by bruce nesbit in Main branch]
2014-08-29 10:55:09 -04:00
Daniel Wright
f5238f04e1 Distance Field AO improvements
* Distance field building is now asynchronous and stored in the DDC separately from static mesh data.
* Added OcclusionMaxDistance and Contrast properties to Movable sky light
* Using the GBuffer normal instead of the generated distance field normal, fixes artifacts on two-sided materials and between modular pieces.  Also saves about .7ms / 4.5ms
* Points in the distance field are only considered 'inside' the mesh if > 50% of all rays traced hit a backface.  Most meshes can have a valid distance field generated with this heuristic.  Meshes without a distance field representation can receive occlusion.
* Fortnite two-sided foliage with world position offset animation works fine now
* Using the resulting bent normal for diffuse lighting, improves consistency in occluded corners
* Resulting bent normal is also used to occlude skylight specular using an approximate cone-cone intersection, prevents leaking where SSR is not available
* Fixed stationary skylights not getting lightmap mixing
* Reflection captures now work with the movable skylight, which adds its diffuse contribution to IndirectIrradiance so their lightmap mixing works
* Added new show flag to visualize mesh distance fields, which ray traces through the distance fields and gives a sense of their shape

[CL 2276435 by Daniel Wright in Main branch]
2014-08-28 13:54:31 -04:00
Andrew Brown
6391589c05 Modify reimport analytics to clarify exactly what file type was reimported.
[CL 2271980 by Andrew Brown in Main branch]
2014-08-26 06:20:39 -04:00
Ben Marsh
e9f8b8d3a1 Fixup multiline comments that are meant to be documentation. Need to start with /** for doxygen to parse them.
[CL 2265840 by Ben Marsh in Main branch]
2014-08-21 08:33:39 -04:00
Lina Halper
e513ea2300 Named FMatrix/FTransform unsafe Inverse to InverseFast, and InverseSafe,InverseSlow to Inverse as people often use Inverse as default function.
- Inverse was one of the main reasons of crashes via lots of functions. Seems making default Inverse to be safer version seems better.

[CL 2255081 by Lina Halper in Main branch]
2014-08-13 15:29:41 -04:00
Matt Kuhlenschmidt
2927051971 Fixed crash importing a static mesh with no triangles and then opening the mesh in the static mesh editor
[CL 2247575 by Matt Kuhlenschmidt in Main branch]
2014-08-07 17:19:22 -04:00
Andrew Brown
9678ba5a26 More modified analytics to include .Usage in the name
[CL 2244095 by Andrew Brown in Main branch]
2014-08-05 05:38:43 -04:00
Andrew Brown
3cb097972c Modified analytics to include .Usage in the name
[CL 2239630 by Andrew Brown in Main branch]
2014-08-01 05:31:22 -04:00
Andrew Brown
bf0f2fffdd Added analytics reporting to the static mesh editor
#ttp 340613 - FIXIF: EDITOR:ANALYTICS: Static Mesh Editor Instrumentation Pass

#branch UE4

#added Added analytics for various static mesh editor usage, making sure not to spam events when spinboxes are used and only report when the value actually changes.

#added Added analytics whenever an asset is reimported (if via an editor, the editor will then report that it was it that did the reimporting)

reviewed by Thomas.Sarkanen

[CL 2229618 by Andrew Brown in Main branch]
2014-07-24 04:28:41 -04:00
Andrew Brown
1c7d3a69c6 Modifying the existing static mesh import options enables a button which allows the user to reimport
#ttp 340526 - Static mesh editor: changing the static meshes normals setting from "import normals" to "compute normals" doesn't change the mesh until the user reimports the asset

#branch UE4

#add Added button to reimport based on the current import options (no button will appear if there are no options to modify)

#change Modified import options so they get marked as dirty until they are reimported (button will be unclickable unless they are)

reviewed by Thomas.Sarkanen

[CL 2217535 by Andrew Brown in Main branch]
2014-07-15 05:54:01 -04:00
Martin Wilson
a1355bdf96 non unity fixes
[CL 2169885 by Martin Wilson in Main branch]
2014-07-07 09:51:03 -04:00
Richard TalbotWatkin
bd1dea4bc9 Moved static mesh stat info text into Slate UI.
#ttp 339600 - Move static mesh stat info out of canvas and into StaticMeshEditor Slate UI
#branch UE4
#proj Editor.EditorStyle, Editor.StaticMeshEditor
#add Added a parameter to the StaticMeshEditorViewportClient to pass in a weak ptr to the viewport widget which owns it.  This is so that, on Draw calls, we can update one of its child Slate widgets.
#add Created a struct SStaticMeshEditorViewport::FOverlayTextItem which represents one item of overlay text, and a method SStaticMeshEditorViewport::PopulateOverlayText() which populates the Slate SVerticalBox in the SOverlay with these text blocks.
#add Created a couple of new SlateEditorStyles - shadowed text (normal), and shadowed text (error).
#change Changed FStaticMeshEditorViewportClient::DrawCanvas() to populate an FOverlayTextItem array and call PopulateOverlayText on the owning widget to update the overlay widget.
#reviewedby Chris.Wood

[CL 2169037 by Richard TalbotWatkin in Main branch]
2014-07-07 07:00:18 -04:00
Andrew Brown
e8e05f7d17 Static Mesh Editor: Ctrl+W now duplicates correctly.
#ttp 338927 - EDITOR: Static Mesh: Unable to duplicate collision primitives with hotkey

#branch UE4

#change W input was getting swallowed by the input to switch between widget maninpulation types - converted this over to use the UICommands that are setup

reviewed by Thomas.Sarkanen

[CL 2111775 by Andrew Brown in Main branch]
2014-06-20 10:21:46 -04:00