Commit Graph

42 Commits

Author SHA1 Message Date
kerim borchaev
edfd186940 [3ds Max] DirectLink: fixed export of animated transform when parent of animated node is hidded
Animation for transforms exported as relative to parent actors. Hidden nodes are not exported by the plugin so relative transform need to be taken to closest exported ancestor node.

#jira UE-131680
#preflight 6294af1e380652524ec77dc7
#rb #rb benoit.deschenes

[CL 20450056 by kerim borchaev in ue5-main branch]
2022-06-01 05:03:27 -04:00
kerim borchaev
34d0698e36 [3ds Max] DirectLink: Ies light syncs texture element for Ies texture
#jira UE-137090
#preflight 62962f3795336ad2bfbde6ee
#rb benoit.deschenes

[CL 20449996 by kerim borchaev in ue5-main branch]
2022-06-01 04:58:30 -04:00
kerim borchaev
edddca51fa [3ds Max] DirectLink: Max uv channel ids are remapped to Unreal's uv index
#jira UE-147174
#preflight 6290e226dd2be751aedba4c1
#rb benoit.deschenes

[CL 20431103 by kerim borchaev in ue5-main branch]
2022-05-30 11:00:50 -04:00
kerim borchaev
40092a51d1 [3ds Max] DirectLink: bake pivot when pivots are same
- enables conversion to Datasmith of non-uniformly scaled objects done along rotated axes(pivot) by baking pivots into geometry(when appropriate)

#jira UE-136121
#preflight 628e3e8a731cfa46fcc016c3
#rb benoit.deschenes

[CL 20368776 by kerim borchaev in ue5-main branch]
2022-05-25 14:17:56 -04:00
kerim borchaev
378a7a6c95 [3ds Max] DirectLink: materials notifications rework
- main improvement is to handle situations when material change event is sent during update - vray materials also fire events when RenderBegin/RenderEnd is called on their nodes


#jira UE-150309
#preflight 628cbcc96f6741ae315dba75
#rb benoit.deschenes

[CL 20348772 by kerim borchaev in ue5-main branch]
2022-05-24 11:17:58 -04:00
kerim borchaev
86f5aa7d45 [3ds Max] DirectLink: Limit Texture Resolution option
- baked texmap size limited to specified resolution

#jira UETOOL-5106
#preflight 628533ce2a7df8ed9fa94ceb
#rb benoit.deschenes

[CL 20291243 by kerim borchaev in ue5-main branch]
2022-05-20 01:55:57 -04:00
kerim borchaev
46264dbcd5 [3ds Max] DirectLink: notifications rework
- Changed geometry-related events to use ReferenceMaker notifications
- Result is that notifications are immediate..
- ..therefore could be ignored when sent from within Update. This allows setting Geom nodes to produce Render mesh during update(switching to Render mesh sends notification).
- Test case - AutoSync for optimize/turbosmooth/vrayproxy etc objects exports Render mesh(not viewport mesh) and doesn't spam DirectLink updates

#jira UETOOL-5105 UE-151506
#preflight 627ce774332e182a581b842d
#rb benoit.deschenes

[CL 20242777 by kerim borchaev in ue5-main branch]
2022-05-17 10:39:25 -04:00
kerim borchaev
6dcd872009 [3ds Max] DirectLink: Sync TimeSlider changes - basic geometry
- regular geometry synced when animation slider time changes
- testcase: create box, animate it's size on timeline, toggle autosync - moving slider should send updates
- note: no other objects are re-translated unnecessarily

#jira UETOOL-5042
#preflight 62715681fe09c0cfbc3ef9b9
#rb benoit.deschenes
#fyi antoine.guillo

[CL 20038022 by kerim borchaev in ue5-main branch]
2022-05-04 01:54:12 -04:00
kerim borchaev
ee8a158c39 [3ds Max] DirectLink: Cancel Export/Sync
- Sync can correctly restarts after being cancelled

#jira UETOOL-5104
#preflight 626a64ef0464895bc5fe1f78
#rb benoit.deschenes

[CL 20006279 by kerim borchaev in ue5-main branch]
2022-05-02 00:30:35 -04:00
kerim borchaev
7d36311597 [3ds Max] DirectLink: Messages Window rewrite with Slate
Fixed(compared to previous):
- Selection
- Copy(to clipboard) Button
- Colored message types
- Clear button
- Resizing
- Tooltips

#preflight 625ee35f5f498a37c91fba54
#jira UETOOL-5108
#rb benoit.deschenes

[CL 19935575 by kerim borchaev in ue5-main branch]
2022-04-27 01:19:45 -04:00
kerim borchaev
7101ba6ab5 [3ds Max] DirectLink: Sync Time Slider changes, Part 1
- Node transforms updated when Max time slider changes

- Optimize Collision Sync - not using Max api to find node by name but instead use plugin's  recorded name->node mapping

- additional refactor to simplify further validity checks(for geometry, materials etc)

#jira UETOOL-5042
#preflight 625718d6f7476d662c7fd20d
#rb benoit.deschenes

[CL 19774347 by kerim borchaev in ue5-main branch]
2022-04-15 13:41:06 -04:00
kerim borchaev
08b9a635f7 [3ds Max] DirectLink: diagnostics info
- added statistics about exported/sysced scene - nodes, materials, textures

#jira none
#preflight 6246d786dc6183e3f517c45a
#rb none
#fyi antoine.guillo

[CL 19586305 by kerim borchaev in ue5-main branch]
2022-04-01 06:56:55 -04:00
Johan Duparc
e6c8943f4c Datasmith: Large World Coordinate support
rules of thumb:
- Actor transforms are in doubles
- mesh internal data are in floats, except UVs that are in doubles
- compiled 3dsmax, archicad, navisworks, revit, rhino, sketchup, solidworks
#jira UETOOL-5070
#preflight 623f2ee47d49f37dfd3d599b
#rb Benoit.Deschenes

[CL 19533189 by Johan Duparc in ue5-main branch]
2022-03-28 16:55:59 -04:00
kerim borchaev
105063b024 [3ds Max] DirectLink: Textures Sync
- Changes to Texmaps are synced(bitmap and other types, bakeable or not)
- No unused textures left in the udatasmith file(any situation when texture was used but not anymore)
- Only textures referenced in converted material are exported. This is an improvement over old exporter where it exported all texmaps referenced by source Max material and then cleaned up scene.

#jira UETOOL-4391
#preflight 6239ee8b7b69b01ec152cc1e
#rb benoit.deschenes

[CL 19495448 by kerim borchaev in ue5-main branch]
2022-03-24 10:41:30 -04:00
kerim borchaev
dae98f26cd [3ds Max] DirectLink: Stats output specifies kind of Export/Sync/AutoSync
#jira none
#rb none
#preflight 6234c167cc39f493065d1e89
#fyi antoine.guillo

[CL 19438424 by kerim borchaev in ue5-main branch]
2022-03-18 13:52:49 -04:00
kerim borchaev
3c60c28dc8 [3ds Max] DirectLink: Profile Sync/Export
- Export outputs into Messages dialog and log timings for each export stage. Always enabled

- Sync/AutoSync can enable this too, with "Datasmith_SetExportOption_StatSync true" mxs command

- removed info/warnings from outputting to Listener, only Messages and Unreal log

- Unreal log is located here - %LOCALAPPDATA%\UnrealDatasmithExporter\Saved\Logs\UnrealDatasmithExporter.log

#preflight 62336c4948746817f12d1ca4
#jira none
#rb benoit.deschenes

[CL 19423770 by kerim borchaev in ue5-main branch]
2022-03-17 14:05:19 -04:00
kerim borchaev
2144eeb719 [3ds Max] DirectLink: Forest multisubobj materials
- test: add two geometries with different multisubobj materials to the same Forest object
- also fixed crash related to Containers. Test: create container, close it, open, close, previously this whould eventually crash

#jira UETOOL-4389
#preflight 623048c7c51b66df4c39fb52
#rb benoit.deschenes

[CL 19387780 by kerim borchaev in ue5-main branch]
2022-03-15 12:42:46 -04:00
kerim borchaev
416d234db2 [3ds Max] DirectLink: material slots/assignment fixes
- mesh with multiple material ids but single material(i.e. not a multimaterial) is consolidated into single mesh with one material slot. Simple test - create a box(in Max it defaults to 6 matIds) and assign a material then sync/export/observe
- sorted material slots to make them in the same order as in multimaterial
- unused materials removed from Datasmith scene. I.e. assign material - sync - assign different material - first material should go away from udatasmith if not used on other nodes

#jira UE-143713
#preflight 6229002ccc09078bab5cadf5
#rb benoit.deschenes

[CL 19333134 by kerim borchaev in ue5-main branch]
2022-03-10 01:41:48 -05:00
kerim borchaev
943b110617 [3ds Max] DirectLink: Lights fixes
- CoronaLight Cylinder orientation
- Photometric light attenuation
- Arnold light intensity
- CoronaSun color/temperature
- VRaySun color/temperature

#jira UETOOL-4506
#preflight 62220f7b335298c314567931
#rb benoit.deschenes

[CL 19269726 by kerim borchaev in ue5-main branch]
2022-03-04 13:18:53 -05:00
kerim borchaev
6c0def0986 [3ds Max] DirectLink: Containers - preserve hierarchy
- fixed scene reset/new/load DirectLink name
- (internal)flag to use viewport mesh for Sync/AutoSync to prevent GeometryChanged events appearing. Testcase - use Optimize/MeshSmooth/TurboSmooth modifier and have render/viewport mesh different quality. This would cause infinite update before.

#jira none
#preflight 621e34a7f1206ae3ea5a5acf
#rb benoit.deschenes

[CL 19239308 by kerim borchaev in ue5-main branch]
2022-03-03 00:57:55 -05:00
kerim borchaev
d44b39f9a6 3ds Max: Corona Physical Material to UEPbr
- Scope: Pure Metallic, Thin(as ThinTranslucent), Transparent/Refractive material(including volumetric transmittance for PathTracer), simple opaque, emissive materials

- Roughness(with Glossiness mode) converted linearly. So that it's invertible same as in Max - e.g. 0.5 Roughness is same as 0.5 Gloss

- Specular/Ior conversion suported for both Ior and Disney modes. Ior is properly converted(to Specular). And Disney Specular to refraction Ior.

#jira UETOOL-4970
#preflight 6215b8ea0f71e491ccea8460
#rb benoit.deschenes

[CL 19083835 by kerim borchaev in ue5-main branch]
2022-02-22 23:46:32 -05:00
kerim borchaev
09142c253d 3ds Max DirectLink: MentalRay Arch & Design and VRay Light Materials to UEPbr
#jira UETOOL-4924 UETOOL-4930
#preflight 620203b5445d334c040af6e8
#rb benoit.deschenes

[CL 18903465 by kerim borchaev in ue5-main branch]
2022-02-08 11:48:52 -05:00
kerim borchaev
94d7329fdc 3ds Max DirectLink: Physical Material with ClearCoat to UEPbr
- Converted Max Physical Material to Datasmith UEPbr, including Clear coat

- Testcases:
- Opaque
- Simple Transparent Max material exported as simple transparency(no refraction, ior)
- Advanced Transparent Max material exported as refractive material
- ClearCoat(ior, roughness used)
- Added ThinTranslucent variant(when Max material is ThinWalled or IOR it 1.0)
- Reflection converted to Specular

- Additionally: Fixed transparency color map, emission map/color map that was broken

#jira UETOOL-4571 UETOOL-4900
#preflight 61f7d274e55232619f81a549
#rb benoit.deschenes

[CL 18791909 by kerim borchaev in ue5-main branch]
2022-01-31 12:14:34 -05:00
kerim borchaev
9563ddaef7 3ds Max: Fixed node deletion with AutoSync
- handling deletion of nodes moved to Update, not only fixing autosync but also ensuring that this potentially heavy work(in case of many removed nodes) doesn't happen when user is editing the scene

#jira UE-139068
#preflight 61e837c8da16597a1f39965d
#rb benoit.deschenes

[CL 18660619 by kerim borchaev in ue5-main branch]
2022-01-19 13:02:26 -05:00
kerim borchaev
b93f25fa9c 3ds Max DirectLink: Messages Dialog, crash on exit fix
- Messages dialog first iteration - modeless, realtime update

#jira UETOOL-4774 UE-136837
#rb benoit.deschenes
#preflight 61bae374dc58e54b332b5311

#ROBOMERGE-AUTHOR: kerim.borchaev
#ROBOMERGE-SOURCE: CL 18477255 in //UE5/Release-5.0/... via CL 18481382
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481480 by kerim borchaev in ue5-release-engine-test branch]
2021-12-16 19:33:40 -05:00