1.1.6217
版本发布时间: 2021-03-29 05:15:53
FlaxEngine/FlaxEngine最新发布版本:1.8.6512.2(2024-05-23 05:27:25)
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-1-6217/281
Changelog:
- Add
API_INTERFACE
to scripting API bindings for implementing interfaces - Add support for loading JsonAsset instance objects if they implement ISerializable interface
- Add NavMesh Modifier Volume actor type
- Add
NavAgentProperties
- Add
NavMeshProperties
- Add
NavAreaProperties
- Add
NavAgentMask
- Add support for multiple navmeshes on a scene
- Add navmesh name to logs for better debugging
- Add support for masking navmesh agents in NavMeshBoundsVolume
- Add support for automatic DefaultValue attributes generation for fields in scripting API
- Add support for rotated navmeshes
- Add support for dynamic updating navmesh when moving NavModifierVolume
- Add
TestPath
utility to navigation system - Add default spacing for CollectionEditor to 10 for cleaner UI when working with arrays and lists in Editor
- Add invoking
BoxVolume::OnBoundsChanged
after transform changed - Add default values initialization for structures and new array entries when resizing
- Add
ScriptingTypeHandle
debugger view to flax.natvis - Add more objects types checks and casting utilities to ScriptingObject
- Add support for using
ObsoleteAttribute
to upgrade old C# asset/script data format after refactor - Add
Actor.HasStaticFlag
- Add option to hide navmesh in editor debug view
- Add low-level networking (cross-platform sockets implementation)
- Add culling for decals (via DrawMinScreenSize property)
- Add scripting API events in Visual Script
- Add support for Events in Scripting API reflection in Editor
- Add
IFunctionDependantNode
for Visject nodes - Add Spline actor
- Add Spline Model actor (draws model over spline)
- Add Spline Collider actor (creates collision over spline)
- Add Spline Rope Body actor for ropes, chains and cables physics
- Add Deformable material domain (for spline models)
- Add default Deformable material for splines
- Add auto-select for spawned actors in the level
- Add Add/Subtract methods to Transform
- Add support for copy/paste/rever values for groups in Custom Editor (eg. array editor)
- Add
Transform.LocalToWorldVector
andTransform.WorldToLocalVector
- Add first derivative calculation utilities for Curve
- Add Build Actions option to editor settings for build button configuration
- Add
DebugDraw.DrawWireTriangles
for wireframe geometry debug drawing - Add
SoftObjectReference
for lazy references to assets and objects - Add support for custom defines for build system via
Flax.Build
command line - Add support for custom SceneGraphNode to handle delete with undo
- Add support for custom duplicate of SceneGraphNode
- Add support for using other VC++ toolset for Window and add cmd arg for selecting compiler manually
- Add an info group for selected Rigidbody in play mode (display speed, velocity, angular velocity, etc.)
- Add support for mapping objects in SceneAnimationPlayer to reuse it for different objects
- Add support for copy/pasting script properties
- Add more utilities to SceneReference
- Add more utilities to LayersMask
- Add Volumetric Fog particles to modify local fog
- Add skipping textbox scrolling if it has no selection
- Add WriteJsonDiff support for JsonConverter for custom object diff serialization
- Add more documentation comments improvements
- Add
F
to focus camera view in asset previews - Add
WorldSpaceFaceCamera
mode to UICanvas - Add mouse centering in Editor Viewport if initial location is too close to the edge
- Add separation in ContainerControl for Self/Children drawing code
- Add ContainerControl as a base for Common GUI controls (Border, Button, ProgressBar, TextBox)
- Add UICanvas culling (for 3D rendering)
- Add support for spawning Collision Data as Mesh Collider in viewport drag&drop
- Add improvements for objects spawning in editor viewport
- Add support for debug shapes preview in prefab editor window
- Add support for viewport icons rendering in prefab editor window
- Add
Add mesh collider
option to Static Model context menu - Add reusing created collision data for model when UI requests it
- Add layers and tags updating
- Add support for borderless window style on Windows that supports system docking and aero shadow
- Add editor window outline color to match the status bar color
- Add more features for platform impl on Linux
- Add more support for window system features in Linux (X11)
- Add support for C++ scripting on platforms that don't support referencing executable file when linking shared library (eg. Linux)
- Add support for C++ scripting on Linux
- Add support for Clang 8, 9 and 10 when building for Linux
- Add clipboard support on Linux
- Add support for resizing textures with stb in TextureTool
- Add support for importing textures with options in TextureTool with stb
- Add separate
Platform::GetStackTrace
andPlatform::GetStackFrames
- Add support for capturing stack trace of called DebugLog from C++
- Add newest
dbghelp.dll
lib - Add support for using
Level.SpawnActor
to add scene from code - Add integration with Rider IDE
- Add
FindRandomPoint
andFindRandomPointAroundCircle
to the navigation utilities - Add
BoundingSphere::Transform
method - Add support for accessing Game Settings and related assets in C# API in game build
- Add Absolute and Negative to Vector3 C# API
- Add Sprite Render actor for sprites drawing
- Add Render Layers to Camera and Render View for masking objects during rendering
- Add
DebugDraw::DrawText
for drawing 2D debug text on a screen - Add
DebugDraw::DrawText
for drawing 3D debug text in the world - Add support for updating particle effects in editor view when editing
- Add
Mask ZW
node to all Visject surfaces - Add Particle Radius to in-built particle attributes
- Add
EditorScene
for using gameplay logic in editor preview windows - Add support for audio clip playback preview in editor window
- Add
SceneGraphNode.OnContextMenu
for customizations - Add profiler events to LocalExecutor thread workers in
Flax.Build
- Add
-shaderdebug
cmd line switch to Editor for shaders debugging - Add support for
mutable
keyword onAPI_FIELD
- Add support for caching scripting API bindings during build
- Add MaxConcurrency and ConcurrencyProcessorScale options for Flax.Build cmd line
- Add
SceneRenderTask.PreRender
- Add check for C++ bindings generator for property getter and setter method value types to match
- Add virtual to Camera GetMatrices for custom cameras
- Add support for parsing exponential (scientific) notation numbers in input fields
- Add Any node to material
- Add All node to material
- Add Sign node to material
- Add Blackbody node to material
- Add bringing editor window to front on focus
- Add safety checks for particles data to prevent division by 0
- Add support for UICanvas preview in Prefab Viewport
- Add UIControl outlines drawing in Prefab window
- Add virtual memory allocation utilities
- Add exception instead of crash when using
DebugDraw.DrawLines
with uneven amount of lines - Add
FLAXENGINE_API
macro to classJsonAsset
- Add
Level.GetActors
andLevel.GetScripts
- Add some defaults to
Quaternion
helpers - Add and refactor several extension methods for Random
- Add
Render2D.DrawTexturedTriangles
,Render2D.FillTriangles
andRender2D.FillTriangle
- Add
ScriptingTypeHandle
debugger view toflax.natvis
- Add
Convert
feature for actors in Editor scene tree context menu - Add RGB & HSV conversion nodes to material graph
- Add more separators to
TextBoxBase
- Add allowance for overriding most of the methods in
TextBoxBase
- Add auto serialization by default in C++ script template
- Add optional icons to
DockWindow
s - Add icon for Content window
- Add icon for Debug Log window (based on last unseen logs severity)
- Add WarningOnce, ErrorOnce, InfoOnce, VerboseOnce to Flax.Build logger
- Add colored icons for Debug Log entries (and adjusted entry height)
- Add Render2D tint color layering support
- Add reroute nodes to Visject
- Add arrow key navigation to Visject
- Add support for binary modules with native-code only
- Add improved dll import/export attributes injection when building binary modules
- Add support for using ThirdPartyModule in game/project scripting
- Add
StringBuilder::ToStringView()
- Add write barriers for Mono GC in bindings glue code
- Add support for overriding most of the methods in
TextBoxBase
- Add
ClampLength
to Vector2/3/4 - Add
StringUtils::ConvertUTF162UTF8
- Add support for using automated codesign for binaries in deployment
- Add passing custom compiler switch when invoking child Flax.Build process during deployment
- Add DrawCylinder and DrawWireCylinder to DebugDraw
- Add Shift+Home shortcut to Text Boxes
- Add support for vertical and horizontal panels to arrange children based on the child anchor
- Add per-monitor/per-window DPI support
- Add new UI Control transform editor
- Add more descriptive "no scene" message
- Add automatic rename to UIControl
- Add constructor to BoundingBox for single point empty box construction
- Add Mouse Wheel Sensitivity option to Editor
- Add selecting prefab root objects first in Editor
- Add error check to prevent changing parent of the Scene actor
- Add focus on acto with
F
key in editor viewport (improvements) - Add better support for orthographic projection in Editor viewport controls
- Add option to order script fields/properties in Editor UI based on declaration order (Editor option)
- Add splash screen quote
- Add support for Custom Defines in Game Cooker for build scripts configuration
- Add support for custom defines for build system via
Flax.Build
command line - Optimize and improve ActorChildNodes handling
- Optimize build tool
- Optimize
MAssembly::GetClass(MonoClass* monoClass)
search via assembly image early out - Optimize automatic navmesh rebuild in editor for navmesh relevant actors only
- Optimize Serialization.h to have separate SerializationFwd.h for more lightweight types serialization impl
- Optimize DebugLog stack trace formatting
- Optimize
Texture::DownloadData
for staging textures - Optimize Blend Normal Node
- Optimize compilation time on Windows
- Optimize scripting API bindings generation if loaded API from valid cache
- Optimize DrawCall to pack indirect draw arg and graphics draw data with union
- Refactor navigation system to support multiple navmeshes with more options and API
- Refactored lots of logic in UI to fix various reported issues (eg. vertical and horizontal panels usage has been improved a lot and might behave different than it used to be)
- Refactor game settings to support using API bindings
- Refactor PhysicalMaterial to use API bindings
- Refactor draw calls and instancing logic to be more modular
- Refactor material shaders generator to use modular features as extensions
- Refactor Collider base class to improve code sharing across collider shape types
- Move Curve data serialization to binary format into
CurveSerialization.h
- Move ScreenToGameViewport from Engine to Screen (update doc comments)
- Remove Unlink from asset reference
- Remove deprecated and unused
ISceneObject
andITransformable
- Improve tokens preprocessor for scripting API headers
- Improve Visual Studio Code solution generation for C# projects
- Cleanup and optimize
StringUtils::ConvertUTF82UTF16
- Move Actor static flags helper methods to be manually implemented (less bindings)
- Update stb lib
- Update Recast navigation lib to
e75adf86f91eb3082220085e42dda62679f9a3ea
- Fixes for UI control sync
- Fixes for Editor layout element containers
- Fixes for scripting objects
- Fix and code cleanup for Flax Storage types
- Fix
PathRemoveRelativeParts
for rooted paths - Fix C# assembly Guids to use cross-platform hashing for stable values
- Fix collecting binary modules for targets with Modular linkage
- Fix Debug Log stack trace collecting in Editor
- Fix importing models with custom UnitScaleFactor
- Fix crash on exit when loading storage file fails
- Fix some minor issues with materials previews in Editor
- Fix debug shapes leftovers update in editor after playmode
- Fix using Scripts in async
- Fix crash on close when using Vulkan/D3D12 rendering backend with async task being canceled
- Fix material Sphere Mask node if radius is specified as integer
- Fix sampling particle position/velocity in material for emitters simulated in Local space
- Fix placement and usage of the new instance creation button in GenericEditor
- Fix
MAssembly::GetClass(MonoClass* monoClass)
for generic classes - Fix loading game assets in cooked build via path relative to the project folder
- Fix particles view information in Editor when Game window is unused
- Fix
findRandomPointAroundCircle
in Detour lib to return points inside circle - Fix adding items in Array/List editors if element type is reference (eg. class)
- Fix
Color
struct doc comments - Fix not using hardcoded order for showing Actor main properties in editor
- Fix loaded asset verification error for json assets that have the scripting type
- Fix crash when using Physical Material with missing instance
- Fix default field value parsing to skip whitespaces
- Fix crash on GPUDeviceVulkan dispose if compute queue was using graphics queue
- Fix using dynamic libraries resolving path on Linux
- Fix some editor UI controls visible in Visual Scripting
- Fix MAssembly classes dictionary cache allocation to be during assembly load
- Fix Dictionary to call ctor/dtor for Buckets when needed
- Fix right-click context menu for Visject Nodes
- Fix crash when using Find/FindLast on empty String
- Fix calling OnParentChanged in Actor load
- Fix compilation warnings
- Fix showing shader source code window over a calling window
- Fix Quaternion comparison epsilon to reduce error rate
- Fix using Bezier curve for Transform (Scale tangents issue)
- Fix for serialization problems with custom structures
- Fix using nested types in scripting API
- Fix navmesh tiles set resizing issue
- Fix saving assets with path containing invalid slashes
- Fix Vertical/Horizontal panels issue with anchored child controls
- Fix updating Label layout after font change when using automatic size
- Fix scripting reload without scenes loaded
- Fix UI not being updated with particular panels used when changing child control anchors
- Fix Scene Queries to lock scene access
- Fix DebugDraw DrawTriangles crash
- Fix PhysX header usage in public API
- Fix missing UICanvas linkage in prefab preview
- Fix skipping UICanvas diff serialization for Size property if render mode is ScreenSpace
- Fix UIControl location deserialization when using prefabs and anchors
- Fix control Offsets margin diff deserialziation
- Fix possible issue for prefab reference value for default value object that might be deleted on prefab apply
- Fix editor viewport camera orbiting issues
- Fix missing selection type in CustomEditorPresenter
- Fix assertion on engine close due to rare invalid storage object refs count
- Fix using scale mode Gizmo
- Fix Rename Popup direction near screen edges
- Fix exception in Custom Editors UI due to invalid reference value processing
- Fix updating UICanvas when using World/Camera Space
- Fix control Offsets updating for control bounds when changing anchors
- Fix bug with Vector Parameters in Animation Graph
- Fix crash on Actor deserialization if parentId is missing but actor already has a parent
- Fix synchronizing ActiveInTreeChanged property with event after prefab changes apply
- Fix crash during Mono GC when object has missing vtable
- Fix painting foliage on inactive objects
- Fix InputText length reset
- Fix scaling rotated objects in world space
- Fix HorizontalPanel children layout
- Fix HorizontalPanel and VerticalPanel auto-sizing if child control is using anchors
- Fix conversion to degrees in Vector3.Angle
- Fix drawing UI Control outline in Game Window
- Fix BlurPanel rendering
- Fix error on starting task to continue if it has been canceled
- Fix font character and hit location calculations with line spacing
- Fix tooltips generation for native properties to reflect getter and setter docs
- Fix crash when changing prefab root object
- Fix issue of deleting non-existent folders from the editor
- Fix FindActor and FindScript in Level
- Fix properties names formatting for UI with 2 character words
- Fix some prefabs editing issues
- Fix code style in C# code
- Fix using
get_Control
getter method from UIControl in Visual Script - Fix error when spawning prefab with rigidbody
- Fix layer matrix order in ediotr UI
- Fix double-click mouse event not setting mouse button down
- Fix default frame rate for fbx imported clips to 14
- Fix Graphics module warnings to be sent once
- Fix updating prefab object reference values after apply in prefab editor
- Fix updating UI layout when adding control
- Fix Editor timeline editor controls API visible in Visual Scripting
- Fix using value sliders when on secondary monitor that is one the left side of the primary monitor (virtual desktop)
- Fix UWP build setup messing with FlaxGame target output type
- Fix automatic tooltip generation error
- Fix tooltip background when using custom theme colors in Editor
- Fix tree nodes mouse hovering logic
- Fix crash in motion blur code when screen size is very small
- Fix rare crashes due to rgctx trampolines cache not cleared on assembly reload
- Fix auto-importing materials and textures from model file with invalid path characters used in name
- Fix crash when loading string property in json that is not a string
- Fix missing terrain bounds update after modifying terrain
- Fix updating input fields on editing end without changes
- Fix missing CharacterController bounds if controller is missing
- Fix MaterialParams sync bug
- Fix CSG build crash
- Fix TextBox caret and selection size with custom DPI
- Fix Label auto-height and auto-width when text overflows the lines and it's wrapped
- Fix text not getting clipped in Label with negative margin
- Fix UTF-8 and UTF-16 encoding support usage in Json resources
- Fix deserialization of UTF-8 string for C# object properties
- Fix mouse jittering when pressing both mouse buttons simultaneously
- Fix editor dock panel to always focus tab on click
- Fix UIControl invalid showing in prefab window using nested prefab with UI
- Fix crash for empty text in Text Render
- Fix possible exception in actor editor bounds getters
- Fix memory leak for Mono image refs
- Fix various memory leaks on exit
- Fix ParticleSystemWindow overlapping text bug
- Fix invalid Timeline layout UI when opening timeline data
- Fix crash on prefab sync on instance with missing objects
- Fix Label text alignment in auto size text
- Fix synchronizing nested prefabs when adding new
ObjectsLookupIdMapping
- Fix actor layer editor setup
- Fix UICanvas state synchronization when working with prefabs
- Fix fullscreen mode on D3D11 and D3D12
- Fix crash in navmesh builder when scene gets unloaded after navmesh tile gets dirty
- Fix preserving objects order in prefab instances on apply (based on the prefab)
- Fix updating UI layout after changing control order
- Fix crash on using Space char in font with no font atlases initialized
- Fix
IncrementNameNumber
in Editor for Unicode strings (wrong inversing method) - Fix marking asset as edited when using Multi Blend node positions in Anim Graph
- Fix crash when calling navigation system before navmesh init (eg. in build)
- Fix exception when loading Android NDKs with invalid version folder
- Fix AssetPicker buttons usage without mouse down click over the control
- Fix low-level
WindowsPlatform::Log
to not print invalid characters - Fix VS debugger config for Dictionary and HashSet to show only Occupied buckets
- Fix ResizeAuto in SurfaceNode to include custom controls
- Fix C# assemblies id generation to use cross-platform hash code impl
- Fix exposing Mono API when using dynamic linking