1.5.6338
版本发布时间: 2023-02-20 04:36:13
FlaxEngine/FlaxEngine最新发布版本:1.8.6512.2(2024-05-23 05:27:25)
Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-5-6338/919
Changelog:
- Add scaling towards mouse position in Visject surface
- Add hiding tooltip while dragging UI control
- Add
FlaxEngine
project file generation for VS Code - Add
DontCompress
configuration to build tool - Add support for deserialization of deprecated properties in scripting types
- Add sticky the content window search field so the search bars do not scroll with the content items
- Add new editor icons for actors
- Add performing layout when deleting actors and scrolling to duplicated/pasted actor when action is performed
- Add custom game viewport sizing in Editor
- Add scene panel to separate the tree from the search bar and made it not scroll when renaming
- Add actor virtual functions
OnDebugDraw
/OnDebugDrawSelected
/OnEnable
/OnDisable
to override in scripting - Add
TypeNameEditor
for editing typename reference as soft string value - Add game settings assets loading (not only objects)
- Add
Cook&Run
andRun cooked game
utilities toGame
menu list for multilayer games testing - Add support for editing JsonAsset data at runtime (eg. modify game settings on the fly)
- Add support for custom types/members attributes parsing in scripting bindings
- Add support for custom Action Command in TaskGraph
- Add support for
DataContainer
in scripting api bindings - Add support for custom icons for actors in
ViewportIconsRenderer
- Add play/pause widget and keybind for particles preview in asset Editor
- Add custom Tags for scripting api types to be used by plugins
- Add Left Click to submit text in textbox
- Add
SceneReference
to C++ scripting API - Add
AdditionalScenes
toBuildSettings
- Add
ViewFlags::Sky
for conditional sky/skybox rendering - Add
DefaultValue
support for scripting parameters - Add
AfterGBufferPass
andAfterForwardPass
for custom PostFx location - Add
Renderer::DrawActors
for quick actors rendering in custom render passes - Add simplified collider for in-built primitive meshes
- Add new UI for Drop Panels in Editor (bigger header, expandable arrow icon and guidance lines)
- Add
RenderBuffers::LinkedCustomBuffers
to reuse main game viewport rendered state (eg. GI) in sub-rendered view - Add
GPUContext::SetBlendFactor
- Add SortOrder to drawable object types for transparency sorting override
- Add support for
StringAnsi
in scripting api - Add
NetworkTransform
component - Add network stats API for transport layer
- Add GBuffer textures to the C# scripting
- Add Editor search fields usage on a single character query (instead of min 2 chars)
- Add
NetworkLagDriver
for lag simulation over low-level network transport layer - Add support for different access level for scripting property functions
- Add Layer and StaticFlags from parent actor after spawnign actor in Prefab Window
- Add support for non-const ref parameters with conversion (eg. string or array) in scripting api function parameters
- Add multi-threaded scene rendering with Job System
- Add draw call sorting keys generation during draw calls collection (async)
- Add
WorldPosition
to postfx material scene textures for world-space position sampling at uv - Add
GPUDevice::CreateConstantBuffer
for custom constants buffers usage - Add option to override Custom Editor for array of type
- Add
Tag
andTags
for new tags system - Add
FindActor
/FindActors
withTag
toLevel
- Add
Tag
toPhysicalMaterial
for physical surfaces tagging - Add unit tests for scripting features
- Add thirdparty files in the includes cache for build tool checks
- Add more test cases for various scripting bindings features
- Add bigger input value boxes to Visject Surface
- Add
UseAssetImportPathRelative
to Editor options and use it by default to store imported asset path relative to the project folder - Add VS2022 support for building for UWP platform
- Add navmesh update on terrain sculpt undo/redo
- Add
this
toAPI_PARAM
for static method extension of a type - Add defer to navmesh update when sculpting action ends to prevent stalls
- Add support for editing path to the asset within
AssetRefEditor
- Add Procedural Texture Sampling material node (stochastic)
- Add auto save reminder popup on Editor status bar
- Add
Color.FromRGBA
- Add
RandomStream
to C# - Add
RandomUtil.Rand
method to C# and Visual Script for quick random float in range[0;1]
- Add scripts compilation failed status to status bar in Editor
- Add
TargetCompiler
toFlax.Build
toolchains - Add centered the context menu that is created from clicking the add scripts button on an actor
- Add C++ file includes cache serializartion to improve incremental build times
- Add cancel button to search fields in Editor
- Add hover begin and end event to button
- Add preventing from spawning abstract Actor/Script type
- Add
RenderSetup
and allow customizing it by gameplay and postfx - Add
RenderingUpscaleLocation
for customizing upscaler location in render pipeline - Add scripts dragging support to scene tree for reparenting
- Add
Render2D.DrawTexturedTriangles
with index buffer - Add
FlaxEngine.Object.FromUnmanagedPtr
for native object raw pointer conversion to managed object - Add
ScriptingTypeHandle
support for scripting bindings asSystem.Type
- Add
WriteStructure
/ReadStructure
utilities forNetworkMessage
- Add automatic network serializers generation for
NetworkReplicated
fields in C++ types - Add better location of renaming box for Actor/Folder tree node to start at the label for better UX
- Add project-independent saved windows layouts (stored globally)
- Add better organization to Content projects tree organization for better UX (game project first, ending project last)
- Add
Mono.Cecil
toFlax.Build
- Add profiler events for plugins init/deinit
- Add GPU Memory profiler to Editor
- Add
ViewFlags::Sky
for conditional sky/skybox rendering - Add pooled render targets naming for easier GPU memory usage debugging
- Add
SetResourceState
andForceRebindDescriptors
toGPUContext
for integration with external rendering libraries - Add support for
CanRender
in postFx to depend on specific render setup - Add
GetNativePtr
toGPUAdapter
- Add changing mouse cursor to ibeam when editing text box
- Add
IsAnyButtonDown
utility toMouse
andGamepad
- Add
Normalized
toFloat2
andVector2
- Add support for using system-installed Vulkan SDK on Linux
- Add
FLAX_X_Y_OR_NEWER
to game code defines - Add engine version defines to C++ game scripts
- Add Canvas Scaler control for resolution-independent UI
- Add dev-only name to spawned Particle System
- Add support in
GetScript
to interface types - Add option for importing scale tracking to animation asset
- Add
BlurScaleWithSize
toBlurPanel
for resolution-independent blur - Add Actor Scale linking and unlinking in Properties window for uniform scaling (right-click)
- Add
MemoryUsage
property to Asset for estimated CPU memory pressure - Add memory usage query for various asset types
- Add Assets profiler to Editor
- Add support for normal generation when using Assimp model importer
- Add side mouse button shortcuts to the Content window
- Add ability to drag maximized window in Editor
- Add Animation Instance Data node to Anim Graph for caching value per-model
- Add support for 32 bit indices for the terrain chunk geometry
- Add
JsonAsset.Save
- Add updated transform Gizmos in Editor
- Add better support for file dialogs on Linux
- Add preferred LLVM linker over other linkers on Linux (faster link time)
- Add serialization to
PostProcessEffect
fields and expose them in a sub-group in Editor - Add grouping for new assets creation in Content window
- Add
ContentContextMenu
attribute for custom assets creation groupping - Add
ActorContextMenu
attribute for custom actors creation groupping - Add
ActorToolbox
attribute for actors grouping in Editor Toolbox - Add scroll bars and resiable window to materia;/shader source code viewer
- Add a new way for actor context menus creation (via
ActorContextMenu
attribute) - Add to not close the child context menu on click in Editor
- Add Shift key for skeleton mask editor to affect children bones on click
- Add
KeyDown
andKeyUp
events toTextBoxBase
- Add value boxes hiding cursor and returning it to its position when done
- Add caching transform snapping enables and values for main Editor viewport
- Add visual cursor changes when sliding value box or resizing docked window
- Add cursor change for moving the property splitter
- Add support for importing WAV files that contain extra format bytes in fmt header
- Add support for MSBuild in preview version Visual Studio in build scripts
- Add better items placement in Editor content view
- Add support for imported LOD meshes using
_
character (eg.mesh LOD_1
) - Add
aiProcess_SortByPType
to Assimp importer to reduce artifacts from multi-geometry types imports - Add rename on left click outside the Editor renaming popup
- Add
float3
scaling to triplanar texture node - Add improvements for Editor Gizmo draw order
- Add running Tests on Windows in Github Actions CI
- Add improvement for drag&drop tooltip hiding on operation start
- Add improvement for normal maps detection when importing FBX model files
- Add DDS files import time improvements if already compressed
- Add faster scroll speed to feel less sluggish in Editor
- Refactor
GetNonTerminatedText
intoGetText
inStringView
- Refactor raw data
ReadSttream
andWriteStream
to have easier to use API with more features - Refactor Actor tags into hierarchical reusable Tags system for better gameplay scripting
- Refactor material shaders to use separate constant buffer (slot 1) for shared per-view constants
- Refactor scene rendering to separate drawable actors
- Refactor enum flags with
__underlying_type
and newEnumHasAnyFlags
/EnumHasAllFlags
/EnumHasNoneFlags
- Refactor scene rendering to use batched culling for main view and shadow projections
- Refactor
ObjectsRemovalService
to skip double-buffering due to issues and complexity - Refactor
PostProcessEffect
to support C++ scripting - UWP (Windows Store) platform has been deprecated and soon will be removed
- Remove double click to rename content item
- Remove
GPUResourcesCollection
and useGPUDevice
instead to simplify code - Remove old
RT1_FloatRGB
andRT2_FloatRGB
in favor pooled render targets - Rename property
GetElementsCount
toElementsCount
in C#GPUBufferDescription
- Rename
DepthTestEnable
toDepthEnable
in Graphics PSO to match actual logic - Reduce Render Targets Pool flushing frequency to prevent memory popping
- Update DefaultLensDirt and DefaultLensStarburst texturs to reduce GPU memory usage
- Upgrade GPU limits to support 16k textures
- Change the default for script members order to declaration
- Optimize Editor camera previews updating performance
- Optimize Depth Of Field effect usage of GPU memory
- Optimize
BoundingFrustum::Intersects(BoundingSphere)
- Optimize Global SDF cascades updates intervals (max 1 cascade per frame)
- Optimize Global SDF performance on CPU when scene is mostly static
- Optimize
GPUBuffer
on D3D11 to not stall CPU on reading staging readback buffer - Optimize various debug views performance
- Optimize GPU Resource name to prevent memory allocs when changing name frequently
- Fix context menu and tooltips on Linux to be more stable
- Fix dragging timeline ending edge with a mouse cursor
- Fix math node size
- Fix potential rare issues with material shader constants containing invalid data
- Fix
Flipbook
material node bug when frames X was different than Y - Fix missing game scripts types when starting editor from IDE with
-skipCompile
arg - Fix for Anchor drop down UI closing in Editor
- Fix textbox defocus on edit end
- Fix comparison operators on object reference types
- Fix the additional layers in the matrix when there is less than 4 layers in the layers and tags settings
- Fix missing
TraceMode
blending in PostFx volume for SSR settings - Fix child menu arrow image to accommodate for the scroll bar showing when the amount of items exceeds the max
- Fix DPI query on Linux to handle value from KDE Plasma
- Fix process creation on Linux to prevent deadlock when reading process output pipe
- Fix centered window and message box locations on Linux (multi-monitor desktop)
- Fix
LinuxFileSystemWatcher
not working in sub-directories - Fix running VC++-project build commands with Rider on Linux
- Fix compiler warnings with Clang 15 or later
- Fix error when joining exited threads
- Fix
Mesh
data downloading to support not yet streamed vertex/index data gather - Fix linking against C#-only modules
- Fix rendering with custom feature-set
- Fix null String serialization over network via C# API
- Fix first property name letter to uppercase in Editor properties panel
- Fix temporal anti-aliasing to provide better quality output
- Fix
OnSceneUnloaded
event to contain valid scene object - Fix
GetNativePtr
on Vulkan - Fix leftover UI control state when it gets disabled/hidden/reparented
- Fix imported shader source last char value to prevent strange diffs in Version Control Systems
- Fix Intellisense issues with Visual Studio Code
- Fix native scripting interface method override in managed scripts on Clang-platforms
- Fix
ScriptingObject::FromInterface
to return object if the pointer is already valid object - Fix recursive binary modules usage in scripting
- Fix reading type inheritance in bindings generation with comment at the end
- Fix Visject surface input box color for missing connection type but with type hint
- Fix Audio Source stop/play pait to properly restart streamed audio clips
- Fix missing output clear when reading text array in OpenFBX
- Fix position of child context menus when having to open left in Editor
- Fix typo fix in Graphics Settings, from 'Uee HDR Probes' to 'Use HDR Probes'
- Fix displaying Game and Editor plugins to be batched in Editor
- Fix invalid NetworkMessage usage in C++
- Fix various aspects of the prefab editor window interface
- Fix when sliding the cursor slowly to a screen edge, mouse get flipped to the other screen edge and come back again (only on Windows)
- Fix mouse get cursor flipping (some sliders that use mouse tracking also update the frame of mouse flip, causing a wrong slide delta)
- Fix using dependency module from nested referenced build in C#
- Fix custom animation clip frames range import to properly treat frame indices
- Fix bug with
Screen.CursorVisible
set in scriptOnStart
- Fix audio clips streaming to be thread-safe when audio sources play
- Fix asset registry issues when starting Editor on Windows with uppercase path if the cached was lowercase path
- Fix dragging maximized dock window in Editor to restore size
- Fix issue with
ParticleEffect
properties editor when no asset is selected - Fix VS Code cpp include paths in generated project files
- Fix compressing on Linux /Mac (when
zip
package is not installed) - Fix
FlaxEngine.CSharp
library file referencing - Fix Global SDF rasterization when loading scene
- Fix incorrect skybox cubemap caching dirty interval
- Fix overlapping VC++ and CSharp projects in Visual Studio solution
- Fix custom json asset usage for game settings if loaded before game scripting module is loaded
- Fix comparison operator on
Array
andBitArray
- Fix threading issues with GPU buffers mapping
- Fix default value in viewport options
- Fix
xcopy
path on Windows inFlax.Build
- Fix missing scripting and serialization extensions for
SceneReference
usage in scripts - Fix particle module initialization if it reuses graph from other module
- Fix ribbon particles triangle indices ordering to prevent artifacts
- Fix bug in
DownloadMeshData
to properly access data duringFinished
event - Fix editor values comparison in properties panel to match serializer rules
- Fix Audio Settings not applying doppler factor on play mode start in Editor
- Fix to ignore warning due to missing NDA consoles packages
- Fix
Up Direction
default value for Character Controller - Fix using
Center
property on Character Controller - Fix GPU Limits to be clamped to the compile-time limits
- Fix `Set Type button on UI Control to be centered
- Fix sub-context menu child popup still being open when parent context menu gets focused again by the user
- Fix missing virtual C++ function override in C# if the thunk points to vtable index at offset=0
- Fix
VisualStudioInstance.GetInstances()
to be sorted from newest to oldest - Fix helper mouse button up event on drag drop end on Windows
- Fix passing reference types back to the native code from scripting event
- Fix assertion on thread double-free from registry
- Fix invalid
Math::RoundUpToPowerOf2
- Fix issues when passing new unit tests with edge cases of scripting bindigns usage
- Fix crash when returning
bool
value in overriden scripting method - Fix crash in SSAO when using very low render resolution
- Fix crash when unboxing integer value type from managed callback via generated bindings
- Fix crash when using material in PostFx global graphics settings (asset loaded before GPU init)
- Fix crash on shutdown due to custom JsonAsset C++ instance
- Fix crash on root motion extraction if source animation has no valid root node animated
- Fix crash when unbinding from
Delegate
from other thread during invocation - Fix crash when shader cache file is empty
- Fix crash in content storage crash due to file seek operation failure
- Fix cash in input actions/axis lookups to due to use of
StringView
- Fix crash when copying empty span of data into
DataContainer
- Fix crash when presenting task which swap chain is not ready
- Fix crash on exit due to remaining
DefautlInstance
objects