Commit Graph

24 Commits

Author SHA1 Message Date
Jurre DeBaare
af4f3fd838 ADDED HierarchicalLodVolume, this volume defines a single cluster containing X num of actors for manual usage
ADDED UE-14356 HLOD: Print user friendly message if you try build and meshes don't have have LODs
ADDED MergeStaticMeshComponets to MeshUtilities needed for next CHANGE
ADDED HLOD preview build step for maps, this only builds the clusters for previewing the settings
ADDED SphereComponent now takes into account min and max drawing distances
ADDED Global forward declares and removed local ones from HierarchicalLOD.h
ADDED Visualization to LODActor class, uses USphereComponent to render its bounds
ADDED IsPreviewActor flag to LODActor class, if true during cluster generation DrawSphereComponents bounds will be used instead of LODActor's
ADDED vertex duplication removal on import
ADDED vertex/index buffer cache optimization on import
CHANGED World.h now forward declares HierarchicalLODBuilder to minimize (re)compile time
CHANGED While building/merging actors HLOD system now takes the orginal staticmesh from previously merged LODActors, this to enable retrieving the correct LOD per mesh (related to UE-15398)
CHANGED HLOD Cluster generation process, now takes into account HierarchicalLODVolumes to exclude actors from cluster generation
CHANGED Renamed CalculateRawMeshTangents to ExtractMeshDataForGeometryCache
FIXED Crash where a nullptr actor was added to actors list for > LOD0 clusters
FIXED Bound creation for actor within a cluster used FVector.Size(), now used FVector.AbsMax()
MOVED FLODCLuster structure into seperate header and cpp file

[CL 2617884 by Jurre DeBaare in Main branch]
2015-07-13 05:27:21 -04:00
Jurre DeBaare
b83b0dc15c ADDED GeometryCache files
ADDED Support for importing GeometryCache assets from Alembic files
ADDED CalculateRawMeshTangets function that only calculates the tangents without building the RawMesh

[CL 2591762 by Jurre DeBaare in Main branch]
2015-06-18 06:59:14 -04:00
Matt Kuhlenschmidt
0712f1013e Removed experimental setting for large fbx file import. The improvements are always enabled now
Removed the limitation for how many materials a mesh can have.

[CL 2570812 by Matt Kuhlenschmidt in Main branch]
2015-05-29 14:09:53 -04:00
Matt Kuhlenschmidt
dfc73950da Bumped the max mesh material count warning value
[CL 2566907 by Matt Kuhlenschmidt in Main branch]
2015-05-27 13:07:17 -04:00
Dmitriy Dyomin
3f5bd10edb Material flattening functionality moved to a new module MaterialUtilities
[CL 2531273 by Dmitriy Dyomin in Main branch]
2015-04-29 22:39:01 -04:00
Lina Halper
4a8cd06fd8 #HLOD
- Renamed DesiredBoundSize to DesiredBoundRadius - more clear and it implies sphere
- MergeSetting is now exposed if you decide not to simplify
- Shrink after all done so that we don't use that reserved mass memory

[CL 2530639 by Lina Halper in Main branch]
2015-04-29 15:19:13 -04:00
Lina Halper
af44895190 #HLOD
- Added build of UseLOD
- This allows user to merge actor using certain LOD as base

#code review: Dmitriy.Dyomin

[CL 2521575 by Lina Halper in Main branch]
2015-04-22 15:37:32 -04:00
Lina Halper
c86a13f6ae #HLOD
- Made sure saving/loading works fine
- Packages are not created internally for merge actor if Outer exists - in this case, map
- It won't be visible in CB

#code review: Dmitriy.Dyomin

[CL 2521472 by Lina Halper in Main branch]
2015-04-22 14:57:46 -04:00
Dmitriy Dyomin
d95b3b3ced Added support for material merging to actor merging utility (supports only opaque materials)
[CL 2518824 by Dmitriy Dyomin in Main branch]
2015-04-21 03:07:26 -04:00
Lina Halper
8b479e261f #HLOD: make it silence for mege actor
[CL 2514424 by Lina Halper in Main branch]
2015-04-16 12:03:01 -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
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Dmitriy Dyomin
95ee1a2255 Updated MeshMerging UI to use new lightmap generation method, also uses channel 0 as lightmap source UV
[CL 2347975 by Dmitriy Dyomin in Main branch]
2014-11-04 01:52:29 -05:00
Rolando Caloca
f7a84a6ab7 x
[CL 2321632 by Rolando Caloca in Main branch]
2014-10-07 14:44:13 -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
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
Lina Halper
f6f41fb49d added better warning for build skeletalmesh fails.
[CL 2228970 by Lina Halper in Main branch]
2014-07-23 16:21:29 -04:00
Lina Halper
4a7d368960 TTP 340843 CRASH: FBX IMPORT: Asset crashes engine to desktop on import
[CL 2227398 by Lina Halper in Main branch]
2014-07-22 15:32:59 -04:00
Dmitriy Dyomin
e5f5c404ab MeshMerging: added option for specifing max atlased lightmap resolution
[CL 2124209 by Dmitriy Dyomin in Main branch]
2014-07-02 07:32:18 -04:00
Dmitriy Dyomin
fa954e7225 World Browser: Generated assets for LOD maps now stored inside LOD map package
World Browser: LOD maps generator now correctly handles maps under SC
ProxyMesh utilitiy now produces assets in a separate packages or in one single package
ProxyMesh and MergeActors utilities now use more consistent names for a produced assets (demolet naming conventions)

[CL 2104291 by Dmitriy Dyomin in Main branch]
2014-06-13 04:13:11 -04:00
Daniel Wright
1464dcf2c3 Distance field AO using a surface cache
* Provides mid-range stable AO for dynamic rigid meshes
* Movable sky lights are now supported, and distance field AO is used for shadowing Movable sky lighting from dynamic scenes
* Static meshes are preprocessed into signed distance field volumes at mesh build time when the r.AllowMeshDistanceFieldRepresentations project setting is enabled
* Non-uniform scaling does not work with this method (mirroring is fine), animating through world position offset also causes artifacts as the two representations diverge
* Occlusion is computed along cones to reduce over-shadowing, object distance fields are operated on directly (no hierarchy) to obtain enough resolution to prevent leaking, visibility traces are done with cone stepping to allow better parallelization, and shading is done adaptively in space and time using the surface cache.

[CL 2093556 by Daniel Wright in Main branch]
2014-06-03 15:53:13 -04:00
Dmitriy Dyomin
1569308af9 Added options dialog for actor merging utility
[CL 2091686 by Dmitriy Dyomin in Main branch]
2014-06-02 06:42:23 -04:00
UnrealBot
db494a6e69 Engine source (Main branch up to CL 2037954) 2014-04-02 18:09:23 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00