1.2.6222
版本发布时间: 2021-08-06 15:07:56
FlaxEngine/FlaxEngine最新发布版本:1.8.6512.2(2024-05-23 05:27:25)
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-2-6222/423
Changelog:
- Add Nintendo Switch support (coming soon to registered developers)
- Add support for separate data and code output directories in Game Cooker
- Add initializer list support for arrays in C++ scripting
- Add Vehicles support
- Add error log when trying to load bytes from file data that is too big
- Add MeshBase as shared impl part for Mesh and SkinnedMesh
- Add support for generating Collision Data from Skinned Models
- Add warning when using Triangle Mesh collider under RigidBody
- Add support for masking Material Slots when cooking Collision Data
- Add support for
string
constants as defaults in scripting API - Add Localization support and tools
- Add support for importing
.po
files - Add
LocalizedStringTable
asset type - Add
LocalizationSettings
- Add
LocalizedString
- Add
CultureInfo
to C++ API - Add
GOLDEN_RATIO
constant - Add new editor icons
- Add byte array deserialization from base64 encoded string
- Add support for importing assets into custom formats with
AssetsImportingManager
- Add support for custom asset type factory in game code
- Add support for nesting Array inside Dictionary in scripting API
- Add support for using generic class value types in scripting API bindings code
- Add importing
.po
files with strings localization - Add searching for localization strings in C#/C++ code
- Add searching for localization strings in scenes and prefabs
- Add exporting localization into
.pot
file for translation - Add
CultureInfo
editor with picker - Add undo support for Json Asset editor window
- Add string localization API
- Add LocalizedString support for UI
- Add
CreateSearchPopup
to editor utils - Add
LocalizedString
toTextRender
for localized text - Add support for using animated model with anim graph using different skinned model
- Add
FindClosestNode
to Animated Model - Add
Keyboard.IsAnyKeyDown
- Add missing name some for GPU resources
- Add Low-Level Networking
- Add depth test for point/spot lights rendering to optimize far lights rendering
- Add
HasTypedUAVLoad
to GPULimits (use for GPU lightmaps support baking detection) - Add DRED and optional GPU-Based Validation for D3D12
- Add UAV slots dimensions to cache for D3D12 validation
- Add Bokeh DoF rendering on D3D12 (works fine after fixes)
- Add background color in collections (better readability for nested collections)
- Add support for
NotNullItems
option in collections editors - Add support for using pointers in scripting API events
- Add support for using references in scripting API events
- Add Delay node to Visual Scripting
- Add timeline position synchronization with animation playback in Editor preview
- Add profiler Sleep event to Editor sleeping phrase when out of focus
- Add
Nameof
helper utility for C++ - Add automatic Game Settings setup after adding new settings asset for the first time
- Add Streaming settings with texture groups configuration
- Add support for stripping textures quality when cooking game (per-platform)
- Add dynamic textures streaming based on visibility
- Add support for using per-texture group sampler in Materials
- Add
GetStringAnsiView
to json value - Add option to open all selected assets in content window
- Add support for loading C# dictionaries in native json reader
- Add
Category
attribute for types grouping in editor dialogs - Add texture groups preview to Graphics Quality window in editor
- Add support for editing texture group in editor (without reimporting)
- Add support for programmable samplers in shaders
- Add
AnimationUpdated
event to Animated Model - Add
SetCurrentPose
to Animated Model - Add
SetMasterPoseModel
to Animated Model for modular characters - Add digit check for scripts renaming
- Add Tracy profiler support
- Add
SceneTicking
to engine API - Add
-debugwait
cmd line arg to wait for C# debugger attach on engine start - Add physics queries for convex meshes
- Add editor option to customize the default location for new editor windows
- Add automatic profiler events for C# methods invocation
- Add automatic profiler events for Visual Script methods invocation
- Add automatic tooltip for ComboBox based on selected item tooltip
- Add option to hide GUI in Game Viewport
- Add
MapTrack
to SceneAnimationPlayer - Add GPU profiler events to ProbesRenderer
- Add helper
FindScript<T>
andFindActor<T>
toActor
- Add
NoUndo
attribute for properties without undo usage - Add option to show Debug Draw shapes in Game Viewport
- Add option to copy/paste value from Visject box via context menu
- Add support for using library-style includes for build tool includes cache
- Add 9-slicking support for UI to draw sprites and textures
- Add skipping generating structure fields accessors for private fields in scripting
- Add option to use Point sampling when drawing textures and sprites in UI via Brushes
- Add
Int16
andUint16
scripting/serialization support for Visual Scripting - Add preserving package output directory across sequential package builds
- Add
-play
cmd line arg for Editor to play game (optional scene id arg value to play certain level) - Add support for custom package output directory for engine deploy
- Add support for custom build configurations for engine deploy
- Add daily master branch builds as Continuous Deployment on Github Actions
- Add more indentation to scene tree items to make it more readable
- Add support for custom drag & drop into level/prefab viewports from custom asset items
- Add focus to game window on play
- Add Job System
- Add Foliage Density Scale option to Graphics Quality Window in Editor
- Add support for
Function<>
as method parameter in scripting - Add order for Margin properties
- Add
SceneNavigation
for scene data for navigation system - Add Task Graph
- Add option to use seconds for timeline/media duration
- Add
Engine::UpdateGraph
for async engine/game update - Add async animations updating via Task Graph
- Add async particles updating via Task Graph
- Add support for allocator type in
Dictionary
- Add idle Sleep between frames to save CPU cycles when inactive
- Add logging Windows build number
- Add
RingBuffer
template - Add support for allocator type in
Dictionary
- Add
Stopwatch
instead ofDateTime.Now
for increased accuracy in Flax.Build profiling tools - Add keyboard shortcuts to viewpoints (numpad)
- Add
PLATFORM_THREADS_LIMIT
for maximum concurrency limiting - Add MemoryCompare, MemoryClear and MemoryCopy for direct memory access in C#
- Add ignoring memory allocations from profiling tools in Editor Profiler
- Add intermediate data folder removing on build tool clean command
- Add
Actor.RotateAround
- Add automatic namespace usings collecting when generating scripting bindings glue code for csharp
- Add automatic slider speed for float value input fields with limits specified
- Add Alpha Panel control
- Add Draw Indirect support for Vulkan
- Add GPU Particles support for Vulkan
- Add support for rendering into 3d textures on Vulkan
- Add support for Geometry Shaders on Vulkan
- Add incremental actors naming when spawning them in viewport
- Add Network impl for PS4
- Add safety checks to material constants binding code to prevent invalid memory access
- Add
GPUContextVulkan::CopySubresource
- Add more profiler events for performance tracking
- Add
Content.Stats
for assets statistics (replacesContent.AssetCount
) - Add
Streaming.Stats
for resources streaming statistics - Add view snapping mode to Directional Light shadows for better stability
- Add preloading initial Editor scene to improve startup performance
- Add support for custom background brush to Button
- Add
DebugDraw::DrawTube
- Add
Rectangle.Distance
- Add option for preview a single mesh UVs
- Add memory usage info to Animation details
- Add more helper methods for batched debug shapes drawing
- Add Physics Colliders debug view mode to display physical world shapes (solid)
- Add
UpdateSpeed
to Animated Model for playback speed scaling - Add widgets for animation preview play/pause and speed changing
- Add support for creating virtual Anim Graph at runtime for a single animation playback
- Add Terrain physics collision debug drawing support
- Add faked lighting to improve Debug Draw solid shapes rendering readability
- Add preview panel with skinned model to the Animation window
- Add support for rendering percentage scale with upscaling to backbuffer
- Add culling and render mask check for models rendered via Custom Actors list
- Add warning log in build tool when target is missing
- Add
JsonSerializer.ParseID
with return value - Add support for bundling custom assets by
GamePlugins
- Add
CustomUpscale
postFx to replace upscaler with a custom script - Add
ClosestPointPointLine
for Vector3 to C# - Add more documentation to FlaxDocs
- Add support for Rider 2021, use latest detected version of Rider
- Add using the latest detected version of Rider
- Add support for moving object with transform gizmo when mouse moves outside the viewport during usage
- Add
BoundingBox.MakeScaled
- Add using immediate DebugDraw for animated model skeleton drawing in Editor preview
- Add support for
Vector2/3/4
andQuaternion
constants for default value attribute in C# scripting api - Add option to show bounds of the animated model in Editor preview
- Add option to show bounds of the model in Editor preview
- Add support for AssetPreview to use debug drawing if needed
- Add support for focusing on foliage instance bounds when editing it
- Add support for focusing on model when painting its vertices
- Add support for object reference wrappers usage in hash maps and dictionaries
- Add serialization improvements for
Int2/3/4
- Add constructors
Vector2/3/4
<=>Int2/3/4
- Add operators for
Int3/Int4
- Add common funcs for
Int2/3/4
- Add some more splash-screen quotes
- Add optional location for Plugin Icon to be inside plugin project root
- Add
MeshDataCache
utility for async mesh data caching - Add buttons for play/pause/stop Animation timeline in editor window
- Add tint to timeline navbar buttons
- Add bone icon for Anim Graph connections with local skeleton nodes pose
- Add support for using structures as Visual Script and Anim Graph parameters
- Add support for object and enum properties in Anim Graph
- Add support for disabling Vulkan timer queries per-platform via define
- Add option to preview model meshes Normals and Tangents in Editor preview
- Add
AddForceAtPosition
to Rigidbodies - Add full documentation tooltip to Visject new parameter type picker list
- Add support for
VisibleIf
on value editors using group panel - Add support for importing assets into custom formats with
AssetsImportingManager
- Add strong typed This node output in Visual Script
- Add super smooth quaternion editing in Editor UI
- Add support
int64
values in EnumComboBox - Add support for custom value propagation in CustomEditor
- Add
LocalLocation
to UI controls - Add support for cooking collision data from model asset on main thread and fix issue if mesh is during streaming
- Add support for Is Null, Is Valid, As, Is and Type Reference nodes in Anim Graph
- Add
C++ Json Asset
andC++ Function Library
templates - Add better support for control anchors editing with bounds preserving and pivot setting (Shift and Control modifier keys))
- Add loading info text when opening scene animation window
- Add support for reusing
UIControlControlEditor
andAnchorPresetsEditorPopup
in Editor plugins - Add the namespace of a field from another module support in C# bindings code
- Add sorting for used namespaces in bindings and include nested types checks
- Add missing includes in headers
- Add UI Control location editing to be relative to the Pivot point
- Add
DefaultQueryExtent
to navmesh properties - Add option to Delete Sprite in Editor
- Add automatic resizing for the timeline track preview values for better readability
- Add support for Pack/Unpack Structure nodes and Enum constant in Anim Graph
- Add support for OnSerializing, OnSerialized, OnDeserializing and OnDeserialized callbacks for C# types serialization with Json
- Move default AllocatePages/FreePages impl from Unix to PlatformBase
- Move JsonConverters to a separate file
- Rename AnimationManager to Animations and expose to public
- Reimplement Temporal AA with less ghosting and better quality
- Improve detection of Rider installations
- Implement DownloadDataCPU for Mesh and add result entries count
- Improve animation preview usability for debugging
- Improve tooltips generation for scripting types
- Improve timeline frame labels displaying
- Increase scroll bars size for easier usage
- Increase items limit for Visject secondary context menu before scroll bar usage
- Optimize building C#-only projects references
- Optimize UI for complex timelines with many tracks
- Optimize Vulkan Framebuffer when not using color blending
- Optimize Profiler window update to refresh only visible tab UI
- Optimize Profiler window UI
- Optimize Debug Log window new entries adding (manual placement instead of full layout)
- Optimize
BoundingSphere::FromBox
- Optimize Debug Draw for large amount of single-frame debug shapes and lines
- Optimize Debug Draw wireframe sphere to use auto-LOD
- Optimize Streaming service with Task Graph to use async update on a Job System
- Optimize Vulkan shader compiler memory allocation
- Optimize ContentStorageManager with Task Graph to use async update on a Job System
- Optimize memory allocations in Vulkan backend
- Optimize flushing active transform of physically simulated actors
- Optimize physics simulation collisions pair cache
- Optimize Foliage instances serialization by using raw json value write
- Optimize various engine code
- Optimize
Foliage::OnFoliageTypeModelLoaded
to rebuild only single foliage type clusters - Optimize String usage with StringView for basic file paths operations
- Optimize C# script compile times by using Roslyn C# compiler server on Windows
- Optimize C# method invoke in bindings via direct Mono invoke
- Optimize managed memory allocations
- Optimize includes in
ThreadLocal.h
- Optimize Scene Rendering (data caching and more)
- Optimize CPU particles sorting with Radix sort
- Optimize C#
Actor.GetChildren<T>()
andActor.GetScripts<T>()
- Optimize Animated Model bones matrices buffer update
- Optimize scripting object data deserialization
- Optimize Foliage with quad-tree clustering per foliage type
- Optimize Foliage rendering with manual instanced draw calls batching
- Optimizations in various parts of the engine
- Optimize renderer memory allocations with
RenderListAllocation
(mem pooling) - Remove unused
WindowsManager::CalcCenteredWinPos
- Remove UI Controls from Json Asset picker dialog
- Remove unused
DictionaryInitialSize
fromMAssemblyOptions
- Refactor focusing on selection logic in Editor
- Refactor
FontReference
to reference type (class) - Refactor base types initialization to be done during API processing
- Refactor AnimGraph to support asynchronous execution
- Refactor CPU Particles to support asynchronous execution
- Refactor FileSystemWatcher interface to make it simpler
- Refactor AnimGraph debug flows to use scripting API event (faster)
- Refactor Variant type ManagedObject serialization to be usable for Visual Scripting
- Change default Update FPS in time settings to 60
- Change profiler samples length to 10s at 60hz
- Change all Flax Samples to 60 FPS
- Change to not log computer/username in log files
- Change
CalculateTangents
to false as default and calculate normals/tangents by default if missing - Change
WindowBase
to allow for better code sharing for platforms without advanced windowing - Update
fmt
to version 6.2.1 (9 May 2020) - Fix dummy locale on Linux
- Fix using TextBoxBase with child controls
- Fix format string errors assertions into soft checks
- Fix natvis display for string views
- Fix handling spacing in collection editors to align label in a proper way with margin
- Fix
JsonAssetProxy.IsProxyFor
- Fix stack overflow when using recursion with nested scene animations
- Fix escaping backslashes in generated tooltip descriptions
- Fix build settings limits
- Fix reparenting actors in editor to preserve world position
- Fix bounding box calculations for Animated Models
- Fix tooltips to be constrained by monitor bounds instead of virtual desktop or parent window bounds
- Fix Is Null and Is Valid nodes in Visual Script to handle managed instances comparison
- Fix crash when unloading scene that has been already unloaded
- Fix Label text positioning when using Auto Fit
- Fix creating reroute nodes in Visject during debugging
- Fix missing
mipIndex
when clearing lightmap textures with a buffer on baking start - Fix error when actor from unloaded scene is selected
- Fix showing Game Plugins in editor plugins window
- Fix disabling VertexSnapping for 3D UI rendering
- Fix Editor UI tree control click to handle selection update before
- Fix camera position when changing Editor view orientation
- Fix gizmo in top down view on Z-axis movement (and other combination of perpendicular views)
- Fix showing context menu in Scene Tree window with scroll used
- Fix paths in plugin projects root nodes in Content Database
- Fix crash when importing model mesh with multiple materials but no mapping on a Geometry
- Fix CharacterController still colliding after being disabled at runtime
- Fix exception in Editor UI is model has invalid material slot index assigned
- Fix gizmo stability when using single axis
- Fix text processing with wrapping enabled if layout bounds width equals the line width
- Fix
Control.GetChildAtRecursive
with overlapping controls - Fix crash when reading empty string from stream
- Fix adding particle emitter to a system timeline to have full duration
- Fix naming native threads on Linux and Android
- Fix crash when reloading virtual asset
- Fix false-positive of Surface node value modification
- Fix handling invalid asset in AssetPicker instead of throwing exception
- Fix buffer overrun crash in
ForwardShadingFeature
- Fix drawing shadows for particles that use Depth Fade node
- Fix importing model animations curves with scaled local bone TransformBuffer
- Fix missing operators and constructor in
Pair
- Fix asset paths to be from project rather than packages
- Fix loading native dependencies for binary modules from other folders than engine binaries or project root
- Fix auto-focus for dock window on right-click to prevent Game Window mouse steal when using context menu
- Fix
String::Resize
to support buffer growing - Fix catching mouse focus in Editor play mode with game is paused
- Fix out of bound access to
RichTextBoxBase
internal buffer - Fix POD structure check in scripting api if contains array field
- Fix some profile event names
- Fix crash on Font invalidate
- Fix C# profiler events from other threads
- Fix renaming selected actor in scene tree after creation and use editor shortcut
- Fix minor warnings in shaders
- Fix locale on Linux
- Fix file dialogs from changing the working directory (on Windows)
- Fix compilation on specific system locale configuration (build tool issue)
- Fix synchronization for dbg symbols on Windows
- Fix using fixed array initializers in scripting API field
- Fix error in context menu search on fail
- Fix
ThreadLocal
to use atomic operations and prevent rare race conditions - Fix running Flax on Windows with STD console output
- Fix undo errors in editor on Margin property serialization
- Fix checking paths when opening Visual Studio project items to prevent dummy files creation
- Fix base method calls handling in scripting vtable overrides
- Fix game plugins initialization order in Editor play mode to mock the standalone game
- Fix checking min engine version for referenced projects too
- Fix loading game binaries in Editor if they are still missing are recompile
- Fix rare crash when passing array to managed world with object refs inside structures
- Fix calling base class of overridden scripting object via vtable entry for method that has multiple parameters
- Fix AnimatedModel bounds calculation to use skeleton bones locations
- Fix range selection in Tree to skip invisible nodes
- Fix deserialization of C# dictionaries for prefabs
- Fix Script deserialization if
ParentID
is not specified in stream - Fix changing prefab root
- Fix undo for custom serialized objects (eg. LocalizedString)
- Fix missing asset register for new json resources
- Fix
API_AUTO_SERIALZIATION
usage if base type is not serializable - Fix case sensitivity check for
StartsWith
andEndsWith
inStringView
- Fix using
Delegate<>
in API event - Fix
TypeSearchPopup
showing types that base type is hidden - Fix script template not complain about doc warnings
- Fix tooltip attribute generation for multi line xml doc comments
- Fix Transform Node/Bone in replace mode when transform is identity
- Fix
protected internal
access modifier usage - Fix textbox bugs
- Fix editor viewport input when using ScreenSpace canvas in a prefab
- Fix
ScreenSpace
UICanvas prefab preview activate/deactivate - Fix order when pasting UI Controls
- Fix ScreenSpace UICanvas order in Prefab preview (move back to prevent editor widgets occlusion)
- Fix Visual Script method override node auto-size
- Fix descriptors bindings to shaders on D3D12
- Fix missing UAV barriers on D3D12
- Fix GPU synchronization on D3D12
- Fix D3D12 resource state transitions barriers
- Fix lightmaps baking on D3D12
- Fix using custom allocator on array field in scripting class
- Fix UI after editing Dictionary key value
- Fix various Editor UI icons issues to improve reliability and design
- Fix
Asset::ToString()
to not depend on refs count and look simpler - Fix generating includes list in c++ glue code for script (non-pod and variant wrappers can produce additional includes)
- Fix Blend Space 2D to use corrected additive blending
- Fix texture streaming minimum mips to load for block compressed textures
- Fix spline model visibility after enable if was disabled on start
- Fix default value generation for numbers and enums in scripting api
- Fix parsing doc comments in scripting api with inlined summary tag
- Fix scripts projects opening to support async open when using Editor menu option
- Fix using Keyboard and Mouse objects in C# scripting
- Fix cached font usage to use proper unmanaged object validation check
- Fix selecting multiple different UI controls in Editor
- Fix crash due to
SamplesBuffer::Add
bug - Fix errors when changing UIControl type in prefab
- Fix crash with too big blur strength used in Render2D
- Fix
WeakAssetReference
handling asset unload - Fix very rare cases of deadlocks in
Asset::WaitForLoaded
- Fix terrain normal mapping issue
- Fix using nested types in Visual Script
- Fix crash when reimporting sprite atlas
- Fix sprite atlas serialization after editing
- Fix naming new sprites in Editor
- Fix models uvs preview drawing
- Fix synchronizing ActorTreeNode order after actor duplicate
- Fix missing rotation parameters in capsule physics queries
- Fix BitonicSort constant buffer size error on Vulkan due to structure padding
- Fix structured UAV/SRV buffer usage on Vulkan
- Fix crashes during deserialization of invalid data
- Fix getter only properties not showing in Editor