Commit Graph

29 Commits

Author SHA1 Message Date
Michael Noland
1553cbb45d Editor: Deleted some dead code in StaticMeshEditor and UnrealEd (lightmap mesh import/export)
[CL 2515213 by Michael Noland in Main branch]
2015-04-16 19:30:02 -04:00
James Golding
72fa7c6508 Use new VHACD library for generating auto convex collision (only enabled on windows until other platforms can test)
#codereview ori.cohen, ben.marsh, michael.trepka, mark.satterthwaite, dmitry.rekman

[CL 2495503 by James Golding in Main branch]
2015-03-30 07:26:43 -04:00
Nick Darnell
2ec30beb15 Static Mesh Editor - Improving the Socket Manager's look and feel and enabling it by default.
[CL 2473053 by Nick Darnell in Main branch]
2015-03-09 17:10:09 -04:00
Rolando Caloca
e463935a85 UE4 - Save generated LODs for static meshes
#codereview Nick.Penwarden

[CL 2454746 by Rolando Caloca in Main branch]
2015-02-21 13:20:31 -05:00
Ben Marsh
bf75048443 [INTEGRATE] Change 2411119 by Matt.Kuhlenschmidt@matt_kuhlenschmidt_main on 2015/01/19 13:39:29
Fixed up the details panel name area to be aware of in world component editing.
	Fixed up usage of the details panel name area to use new enum based usage flag for name areas

[CL 2419254 by Ben Marsh in Main branch]
2015-01-26 17:14:50 -05:00
Jason Hoffman
b416654d40 UE-1092 EDITOR: Collision creation scaling speed is slow
[CL 2398999 by Jason Hoffman in Main branch]
2015-01-06 14:54:09 -05:00
Richard TalbotWatkin
3d132f3e1b Added socket snap to vertex and socket metadata. Merged pull request, adapted to latest build, and added feature to set orientation of the socket to the normal of the selected vertex.
#jira UE-4621 - GitHub 200 : Socket snap to vertex and socket meta data
#github Pull request #200

[CL 2398522 by Richard TalbotWatkin in Main branch]
2015-01-06 04:14:48 -05:00
Jason Hoffman
30af13181a UE-1384: StaticMesh Editor: Copy Collision from Selected is unclear
[CL 2393864 by Jason Hoffman in Main branch]
2014-12-19 12:47:41 -05:00
Jason Hoffman
52f0459348 UE-6159
Changing Mesh in Static Mesh Editor after adding collision Crashes

[CL 2380315 by Jason Hoffman in Main branch]
2014-12-08 09:50:43 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
James Golding
25a4659524 UE-3610 UE-4199: Fix issues with collision/rendering not updating when editing static mesh collision
[CL 2372590 by James Golding in Main branch]
2014-12-01 11:19:18 -05:00
Mikolaj Sieluzycki
d43e69c4b9 Prepare cpp files for header cleanup.
#codereview Robert.Manuszewski

[CL 2356854 by Mikolaj Sieluzycki in Main branch]
2014-11-12 04:43:54 -05:00
Dan Hertzka
2ab1556645 Adjusted access to the LocalWorkspaceMenuRoot within FTabManager - GetLocalWorkspaceRoot() now returns a const and provides methods to expose adding a category and clearing categories
#codereview nick.atamas

[CL 2338925 by Dan Hertzka in Main branch]
2014-10-23 15:11:28 -04:00
Wes Hunt
31e2bb00ac Removed a bunch of stuff from Slate standard include, created SlateBasics.h
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN

[CL 2329610 by Wes Hunt in Main branch]
2014-10-14 22:50:06 -04:00
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
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
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
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
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
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
b0f3feca6f Static mesh editor can now create Box/Sphyl and have multiple collision primitives, which can be manipulated.
#ttp 334968 - TOOLS FEATURE: Add primitive collision inside the static mesh editor

#branch UE4

#change
GenerateSimpleCollision funcs now return true if any collision was built
Moved Prompt to build collision into a func (to remove duplicate code), and modified so that the options are Yes=Replace, No=Add-To, Cancel = Cancel.
Added CalcBoundingSphyl code which is loosely based on the Sphere code in that it finds the best axis to align the sphyl with (but locally rotates so it can treat the Z axis as length, regardless). It they finds the radius to best enclose the Sphyl (same as Sphere, but 2D). Then it increase the length of the Sphyl until that encapsulates all the remaining points.

Replace instances of AddZeroed with Add(FKTypeElem()) so that the vtable would be created correctly if a base struct was introduced.
Moved PhysX code which scales the Elems from ModifyPrimitiveSize to their own struct func (ScaleElem) so that it could be used elsewhere.

Added new struct FPrimData which contains the PrimType and PrimIndex so we can look the corresponding collision Elem up in our BodySetup. The static mesh editor session which is open for a particular static mesh keeps track of these using the following:
IsPrimValid û Checks to see if the prim data could be valid
HasSelectedPrims û Returns true if there are any selected prims
IsSelectedPrim û Check to see if the prim data is selected
AddSelectedPrim û Adds prim data to our selection
RemoveSelectedPrim û Removes prim data from our selection
RemoveInvalidPrism - Removes any prims which are no longer valid from the selection
ClearSelectedPrims û Removes all the prim data from our selection
DuplicateSelectedPrims û Duplicates the selected prims
TranslateSelectedPrims - Translates the selected prims by a specified amount
RotateSelectedPrims - Rotates the selected prims by a specified amount
ScaleSelectedPrims - Scales the selected prims by a specified amount
CalcSelectedPrimsAABB - Calculates the bounding box of the selected prims
DeleteSelectedPrims û Deletes the selected prims
GetLastSelectedPrimTransform û Gets the transform of the last prim which was added to the selection.
GetPrimTransform - Gets the transform of a specified prim
SetPrimTransform - Sets the transform of a specified prim
Added placeholder calls to begin/end transaction where itÆs needed whenever the bodysetup prims are modified.

Added new Static Mesh Editor menu option to create a capsule/sphyl
Added dedicated collision toggle flag to the Static Mesh Editor so we could manage our own handling of the draw functions in order to inject hit proxies where needed so we can test when theyÆve been clicked on in the viewport.
Widget now works when selecting collision Elems. Space toggles the manipulation method.
SelectedPrims can be trans/rot/scaled using the editor widget.
Prims can be duplicated or deleted either using menu entries or keyboard shortcuts. Alt+drag is also supported for duplication.
ProcessClick was updated so that whenever a new selection type is clicked on the previous types are deselected (sockets, prims, edges), and other code location were updated to clear the selected prims where appropriate.
Modified OnFocusViewportToSelection so that it also focuses on the selected elems too
Modified SetSelectedSocket so that when passing NULL it deselects all the sockets

[CL 2104326 by Andrew Brown in Main branch]
2014-06-13 05:03:24 -04:00