Files
UnrealEngineUWP/Engine/Source/Runtime/AnimGraphRuntime/Private/AnimNodes/AnimNode_SequenceEvaluator.cpp

273 lines
7.7 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "AnimNodes/AnimNode_SequenceEvaluator.h"
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2720406 on 2015/10/07 by Aaron.McLeran Audio optimization Don't search for nearest listener if there's only 1 listener. Change 2720411 on 2015/10/07 by Aaron.McLeran Fixing HRTF spatialization code with recent changes to stereo spatialization. HRTF emitter posiition doesn't need to be converted to XAudio2 coordinates. Change 2723829 on 2015/10/09 by Mieszko.Zielinski Fixed NavigationSystem trying to set label of newly spawned navigation data #UE4 UE-21880 Change 2723873 on 2015/10/09 by Mieszko.Zielinski Fixed a bug in FNavAgentProperties::IsEquivalent resulting in failing the test for FNavAgentProperties instances having default AgentStepHeight value (-1) #UE4 UE-21977 Change 2724834 on 2015/10/12 by Ori.Cohen PR #1634: Add PxVehicleDriveNW support to PhysXVehicleManager.cpp (Contributed by zeduk) Change 2724850 on 2015/10/12 by Marc.Audy Fix sound not restarting in matinee preview when jumping back along timeline after reaching end #codereview Nick.Darnell Change 2726499 on 2015/10/13 by Ori.Cohen Fix edge case where sphyl length and radius are 0 and they are not properly clamped to 0.1 Change 2726689 on 2015/10/13 by Marc.Audy Make UPackage::PackageFlags private Add debugging for UE-21181 to try and track down when EditorWorld's PackageFlags are getting flagged as PlayInEditor #codereview Mike.Fricker Change 2726862 on 2015/10/13 by Lukasz.Furman removed unused code from DetourNavMeshQuery #ue4 UE-21988 Change 2726888 on 2015/10/13 by Lukasz.Furman fixed observer abort: both mode in behavior tree's cone check decorator #ue4 UE-19375 Change 2726913 on 2015/10/13 by Lukasz.Furman navmesh raycast will use nearest poly containing ray origin instead of just closest one #ue4 UE-19334 Change 2726920 on 2015/10/13 by Marc.Audy Re-unify ULevelStreaming::GetWorldAssetPackageName and GetWorldAssetPackageFName #codereview Dmitriy.Dyomin, Bob.Tellez Change 2726931 on 2015/10/13 by Lukasz.Furman fixed missing Tick event in aborting behavior tree tasks from abandoned subtree #ue4 UE-21777 Change 2728093 on 2015/10/14 by Ori.Cohen Fix edge case of sphyl scale take two. The previous approach did double scaling Change 2728577 on 2015/10/14 by Mieszko.Zielinski Improved navmesh labeling condition #UE4 Change suggested by github user #rb Lukasz.Furman Change 2728587 on 2015/10/14 by Lukasz.Furman fixed crowd simulation for auto possessed pawns placed on level #ue4 #rb Mieszko.Zielinski Change 2728629 on 2015/10/14 by Lukasz.Furman fixed influence of navmesh edges on crowd simulation near end of path #ue4 UE-21380 #rb Mieszko.Zielinski Change 2728678 on 2015/10/14 by Lukasz.Furman added Z check to detour's crowd avoidance segment gathering #ue4 UE-20889 #rb Mieszko.Zielinski Change 2728745 on 2015/10/14 by Lukasz.Furman fixed copy&paste operation in behavior tree's composite decorators subgraphs #ue4 UE-18740 Change 2729276 on 2015/10/14 by Stan.Melax ensure all actors get recreated with new collision shape specification. this wasn't being done for a couple of editing methods. todo: this should be merged into 4.10 #UE-20961 #rb ori.cohen Change 2730709 on 2015/10/15 by Marc.Audy Prevent memory corruption when an invalid controller ID is passed in to the forcefeedback channel functions #rb Lina.Halper Change 2733590 on 2015/10/19 by Benn.Gallagher Fixed various crashes when using undo and redo while manipulating state machines UE 22088 Change 2735143 on 2015/10/20 by Lukasz.Furman clearing behavior tree debugger's state when displayed subtree becomes inactive #ue4 #rb Mieszko.Zielinski Change 2735144 on 2015/10/20 by Lukasz.Furman rebuilding behavior tree graph node order when node is being moved #ue4 #rb Mieszko.Zielinski Change 2735403 on 2015/10/20 by sebastian.kowalczyk Integrated fix for issue UE-18594 "Gameplay Debugger is hijacking the Canvas" issue from 4.10 (2735391). Extended previous fix to care about OSX users - it's possible to configure shortcuts in engine config file now (little different ones for osx platform). Change 2736406 on 2015/10/21 by sebastian.kowalczyk Added new GameplayDebugger as a plugin. Old gameplay debugger is still here to keep backward compatibility but it's deprecated now. Current projects should be moved to use new plugin soon. Change 2736436 on 2015/10/21 by sebastian.kowalczyk Fixed crash in gameplay debugger with player set as debug target. Change 2736437 on 2015/10/21 by sebastian.kowalczyk Added visual indicator around selected pawn to fix FORT-10273 issue. (FN is not using new gd plugin yet). Change 2736489 on 2015/10/21 by sebastian.kowalczyk Hide internal and debug hud classes from drop down lists. Change 2736504 on 2015/10/21 by sebastian.kowalczyk Fix for UE-18548 "EnableGDT does not work correctly in PIE". Change 2736529 on 2015/10/21 by sebastian.kowalczyk Fixed UE-18548 "EnableGDT does not work correctly in PIE" Change 2736588 on 2015/10/21 by sebastian.kowalczyk Removed old log visualizer classes. Change 2736700 on 2015/10/21 by sebastian.kowalczyk Fixed UE-19256 "Perception debug data doesn't get replicated by Gameplay Debuger" for old gameplay debugger module. Change 2737180 on 2015/10/21 by Zak.Middleton #ue4 - Fix UPrimitiveComponent::GetCollisionShape not correctly enforcing bounds limits. #rb Aaron.Mcleran #jira UE-22436 Change 2738084 on 2015/10/22 by sebastian.kowalczyk Better indication of selected pawn for Gameplay Debugger. Change 2738413 on 2015/10/22 by Marc.Audy Disable duplication of worlds/maps via the content browser #jira UE-22200 #rb James.Golding Change 2739743 on 2015/10/23 by bruce.nesbit UE-18707 - Issue with drawing material triangle on canvas #1387 Added DrawTriangleUsingVertexColor Change 2739751 on 2015/10/23 by bruce.nesbit Revised bShowDebugForReticleTarget should not be static #1539 Change 2739788 on 2015/10/23 by bruce.nesbit Revised the 2 functions that used FTriangleRenderer::DrawTriangle to use FTriangleRenderer::DrawTriangleUsingVertexColor Fixed compile error Change 2739870 on 2015/10/23 by Marc.Audy Avoid issues while detaching child components if OnAttachmentChange were to remove a sibling component itself. #jira UE-22362 #rb Zak.Middleton Change 2739882 on 2015/10/23 by sebastian.kowalczyk Fix for UE-20901 "VisualLog redirections are broken after PIE finishes" issue. Change 2740140 on 2015/10/23 by Marc.Audy Ensure that components reregister tick functions after seamless travel #jira UE-20892 #rb Zak.Middleton Change 2740614 on 2015/10/23 by Ori.Cohen Fix linker issues for people wanting to use physics lock lambdas Change 2740674 on 2015/10/23 by Aaron.McLeran Sound Focus Feature Added new parameters to SoundAttenuation settings to allow audio to change behavior based on its angle to the listener - Define the min/max azimuth angle to establish in-focus and non-focus regions - Can scale the priority of a sound based on focus angle - Can attenuate the volume of a sound based on focus angle - Can scale the listener-emitter distance based on focus angle - Distance scale is applied when determining max audible distance for USoundBase - Can opt-out of focus effects for a sound at the USoundBase level #rb Ryan.Vance Change 2741542 on 2015/10/26 by Lukasz.Furman lowered min value clamping in navigation filter properties #ue4 #rb Mieszko.Zielinski Change 2743227 on 2015/10/27 by Marc.Audy Make ASceneCaptureCube subclassable outside of Engine module #jira UE-22609 Make USceneCaptureComponentCube::UpdateContent callable outside of Engine module #jira UE-22610 #rb Jeff.Farris Change 2743255 on 2015/10/27 by Marc.Audy Wrap FActorSpawnParameters class with deprecation warning disable pragma instead of hand implementing copy constructor #rb Jeff.Farris Change 2743729 on 2015/10/27 by Ori.Cohen Fix case where we spawn and adjust location which gives us implicit velocity. #codereview Stan.Melax Change 2746135 on 2015/10/29 by sebastian.kowalczyk Fixed UE-21668 "Saving log filters selected in LogVisualizer causes insane ini file sizes! And doesn't really work." Change 2746437 on 2015/10/29 by Lukasz.Furman pass on verifying behavior tree stack before accessing its elements #ue4 #rb Mieszko.Zielinski Change 2748028 on 2015/10/30 by sebastian.kowalczyk Changed GameplayDebugger's console variable from gd.EQSOnHUD to ai.gd.EQSOnHUD" after suggestion with MieszkoZ. Change 2748184 on 2015/10/30 by Aaron.McLeran UE-22693 Fix for streaming bug - 3rd decoded buffer in initial 3 buffers was not getting submitted to xaudio2 voice resulting in garbled/skipped audio. - Wasn't able to repro the 'cannot read chunk' part of the bug #rb ryan.vance Change 2749255 on 2015/10/31 by sebastian.kowalczyk Fixed ai.gd.EQSOnHUD console variable after rename from gd.EQSOnHUD. Change 2749276 on 2015/10/31 by sebastian.kowalczyk Added switch to toggle highlight of selected actor to GameplayDebugger. Change 2749318 on 2015/10/31 by sebastian.kowalczyk New Gameplay Debugger plugin can be used with old module simultaneously. It's best to configure different keyboard binding for plugin when using old module (it can be set in project settings, for new gameplay debugger plugin - when activated for project). Change 2749337 on 2015/10/31 by sebastian.kowalczyk Fixed GameplayDebugger compilation in shipping/test builds. Change 2749376 on 2015/10/31 by sebastian.kowalczyk Small clean-up in gameplay debugger class for BT. Change 2749931 on 2015/11/02 by James.Golding Add stats to ProcMeshComp Change 2749932 on 2015/11/02 by James.Golding Remove PhysicsThrusterComponent.h from Engine.h Change 2749960 on 2015/11/02 by James.Golding - Fix PS4 compile errors in ActiveSound.cpp - Constructor order of FActiveSound - Shadowed AudioComponent var in CheckOcclusion #RB thomas.sarkanen #codereview aaron.mcleran Change 2749961 on 2015/11/02 by James.Golding Fix PS4 compile errors in GameplayDebuggerBaseObject.cpp - Shadowed DefaultContext function param, now just Context, which matches declaration #RB thomas.sarkanen #codereview sebastian.kowalczyk Change 2750026 on 2015/11/02 by Thomas.Sarkanen Anim Multithreading: thread-safety refactor Segregated access to various parts of anim update data by spitting off a new proxy class (FAnimInstanceProxy) containing all data accessed in Update() and Evaluate() passes. Gated access to the proxy data on the game thread in a number of ways: - Explicit access via GetValueOnGameThread() - this blocks on any existing task, completes and then allows control to return to the accessing function. This allows stuff like Blueprints to continue to operate as normal. - Explicit access via GetValueOnAnyThread() - this ensures that in the limited set of circumstances we need this (Blueprint pure functions mostly) that conditions are met about concurrent access. - Deprecating many APIs on UAnimInstance that should not be used (and in fact are not used at present, happily). Derived classes of UAnimInstance can override the creation of the proxy class to create their own type. We do this for UAnimSingleNodeInstance etc. Any API deprecation should continue to function - no functions have been removed yet. The only things that are not backwards-compatible are direct access to some public member variables for which there is no way to support (e.g. via references, for example UngroupedActivePlayerArrays). Some APIs have been changed to more specifically represent the dependencies involved. For example TickAssetPlayerInstance() used to take a UAnimInstance*, only to use it to simply queue notifies. This has been deprecated and replaced with a new FNotifyQueue API. FNotifyQueue also uses a thread-safe FRandomStream instead of FMath::Rand. Many changes are due to substituting accessor functions for direct variable access. Removed 'service' tick group as we no longer need to segregate the running of our parallel update. Anim nodes that need to do some game thread-side update should register for a pre-update callback delegate in the proxy. See FAnimNode_AnimDynamics for an example of this. Moved UpdateActiveVertexAnims into FAnimRuntime so I can subsume some of the code that was in USkeletalMeshComponent::EvaluateAnimation into UAnimInstance (and hence keep the proxy access private). #rb Martin.Wilson,Lina.Halper #codereview Michael.Noland Change 2750077 on 2015/11/02 by Marc.Audy Expose UInputComponent::BindAction that supports WithKey delegate signature Change 2751767 on 2015/11/03 by Thomas.Sarkanen Added extra support to Anim Blueprint 'fast-path' Added support for negated bools (value gets negated during copy). Added support for copying from struct members (via break struct) and split struct pins. Removed potentially troublesome references to BP-constructed UProperties, replacing them with the property FName. This adds some extra Initialize() overhead, but prevents various crash-on load issues (one when generating the class CRC). Added guard to prevent multiple initialization to save this more expensive work being done more often. #rb Martin.Wilson Change 2752158 on 2015/11/03 by Jeff.Farris Fixed UGameplayStatics::SpawnEmitterAttached() to register the ParticleSystemComponent after it spawns. #rb marc.audy Change 2752159 on 2015/11/03 by Jeff.Farris Improvements to camera lens effects to (EmitterCameraLensEffectBase) - can now specify a transform to align the emitter with the camera - exposed several key parameters to Blueprints - ENGINE_API now applies to the entire class #rb marc.audy Change 2753454 on 2015/11/04 by Thomas.Sarkanen Fixup deprecation warnings fallout from multithreaded update changes. Fixed up use of AnimInstance in Vicon plugin. Fixed up use of AnimInstance in slope warping node. Un-deprecated some APIs to become warning free (these APIs are safe to call but just a 'bad idea if you want to do it right'). Also an extra API to allow for smoother transition: Allow custom allocation/deallocation (including using a proxy member struct) by providing an override point for proxy destruction. #rb Martin.Wilson Change 2754099 on 2015/11/04 by Ori.Cohen Fix for task threads dropping stats (from Gil) #rb Gil.Gribb Change 2754449 on 2015/11/04 by Marc.Audy Ensure that components created from an Actor's blueprint BeginPlay implementation get BeginPlay called on them and register their component ticks #jira UE-20853 Reorganize some booleans to get better bit packing #rb Jeff.Farris #codereview Mieszko.Zielinski Change 2754573 on 2015/11/04 by Aaron.McLeran Fixing audio component PostLoad code to not set all LowPassFilterFrequency values to 0.0f Change 2755345 on 2015/11/05 by Thomas.Sarkanen Added deprecated constructors for various animation contexts Allows existing code to compile if it creates its own contexts from UAnimInstance. #rb James.Golding Change 2755348 on 2015/11/05 by James.Golding Add BP-exposed SetBoundsScale function to PrimitiveComponent #RB thomas.sarkanen Change 2755437 on 2015/11/05 by Marc.Audy Fix compile errors #codereview Thomas.Sarkanen, Mieszko.Zielinski, Aaron.McLeran Change 2755982 on 2015/11/05 by Marc.Audy Move HeaderParse changes for deprecation macro from Core Fix world settings warning Change 2756028 on 2015/11/05 by Marc.Audy Fix shadow variable issue Change 2756090 on 2015/11/05 by Ori.Cohen Improve budget tool so that task threads are computed automatically. #rb Gil.Gribb Change 2756120 on 2015/11/05 by Mieszko.Zielinski Fixed AIController::MoveTo not using DefaultQueryExtent of its navigation data #UE4 #rb Lukasz.Furman Change 2756243 on 2015/11/05 by Mieszko.Zielinski Fixed AI perception sight's "auto-visibility" mechanism totally skipping distance and vision cone checks #UE4 The old way was resulting in false positives when for example observer teleported somewhere far #rb Lukasz.Furman #codereview John.Abercrombie Change 2756280 on 2015/11/05 by Mieszko.Zielinski Minor VLog code cleanup and dumb-fixing visual logger accessing timer manager off of game thread #UE4 #rb Lukasz.Furman Change 2756500 on 2015/11/05 by Mieszko.Zielinski Added sanity-checking to BlueprintNodeHelpers::HasBlueprintFunction and cleaned up its usage #UE4 Also, refactored its parameters into references over pointers. #rb Lukasz.Furman Change 2757041 on 2015/11/06 by Thomas.Sarkanen Removed check() in UAnimInstance::GetProxyOnAnyThread() The check was no longer needed as if we are on the game thread we block until tasks are completed below, and if we are on any other thread we are 'safe' anyway. #rb James.Golding Change 2757207 on 2015/11/06 by Ori.Cohen Fix incorrect root body cache which causes a single frame "freak out" when simulating physics from an animation #rb Lina.Halper Change 2757238 on 2015/11/06 by Marc.Audy Force compiler generated functions to be generated for FHierarchicalSimplification in WorldSettings.h so that they are generated while the deprecation warnings are disabled. #rb Mike.Fricker Change 2757284 on 2015/11/06 by Stan.Melax tapered capsule drawing cloth collision happens with spheres and for the hull or tapered capsule goemetry between any specified pair of spheres. (this was already code reviewed before, but missed the check-in window before streamtime) #rb ori.cohen Change 2757743 on 2015/11/06 by Lukasz.Furman fixed node memory allocations for injected behavior tree decorators #ue4 UE-22783 #rb Mieszko.Zielinski Change 2757772 on 2015/11/06 by Lukasz.Furman added setters for crowd avoidance #ue4 UE-22785 #rb Mieszko.Zielinski Change 2758422 on 2015/11/07 by Lina.Halper Potential fix for invalid root bone index input #jira :/UE-23086 #code review: Ori.Cohen Change 2758429 on 2015/11/07 by Mieszko.Zielinski Reimplemented a fix for AI Sight's "auto seeing" mechanics in a more flexible way #UE4 #jira UE-23089 Change 2758571 on 2015/11/08 by Mieszko.Zielinski Modified ensure condition in UAIPerceptionComponent::OnRegister so it doesn't go off when BP does it's magic when components are being added to a BP actor class #UE4 #jira UE-23080 Change 2758821 on 2015/11/09 by Thomas.Sarkanen Fixed animations no longer playing when using a dedicated server. Uses correct logic to determine whether we are running as a server or not. #rb Martin.Wilson Change 2758920 on 2015/11/09 by Marc.Audy Don't dereference weak object pointers repeatedly in FBoneContainer::Initialize #rb Lina.Halper Change 2758944 on 2015/11/09 by Ori.Cohen Fix crash when stats are only on one thread and budget mode is used Change 2758967 on 2015/11/09 by Benn.Gallagher Fix for crash undoing notify socket changes in Persona, needed to recache the notify track data after the transaction had reserialized the sequence. #jira UE-22963 Change 2758973 on 2015/11/09 by Benn.Gallagher Added new 'Random Player' node for anim graphs allowing the user to play a selection of animations in a random order with certain randomised paramers. Also allows 'Shuffle Mode' to act more like a playlist in that it will play everything on the list before repeating. #rb Bruce.Nesbit Change 2759219 on 2015/11/09 by Ori.Cohen Character perf test is now looking at stats directly and sending to analytics #RB Ben.Salem Change 2759398 on 2015/11/09 by Lina.Halper Fix issue where placed montages are not playing. - the issue is that IsPlaying does not consider montage, but SetPlaying does. It is asymmetry, so I made it same. However, there are other functions that need to be re-looked at wr.t. montage #code review: Thomas.Sarkanen #RB: Marc.Audy Change 2759491 on 2015/11/09 by Lina.Halper #Anim: Fix not getting input correctly for Copy Pose node #RB: Marc.Audy Change 2759602 on 2015/11/09 by Marc.Audy Fix imporperly named struct Change 2759795 on 2015/11/09 by Aaron.McLeran UE-23145 Adding a Priority value to USoundBase to use in concurrency evaluation and sorting wave instances for voice stealing. #rb zak.middleton Change 2760081 on 2015/11/09 by Aaron.McLeran UE-23091 Adding more logging for NaN checks and fixing one source of NaNs for audio. OmniDirectional Math Explanation: For XAudio2, because we do our own distance-attenuation calculations, we use the X3dAudio2 API to simply compute a speaker-map for spatialization and force the listener to be at the origin and the emitter to be on the unit-circle. Thus, from XAudio2's perspective, all distances for every listener-emitter pair will be 1.0. So in order to use the InnerRadius blending feature, we need to trick it into doing a an inner radius blend relative to a distance of 1.0. For example, if OmniRadius and Distance are the same, then the "NormalizedOmniRadius" is 1.0 and XAudio2 will begin its "blend" of the sound to an omni-directional speaker map. If Emitter-listener distance is less than the OmniRadius, we'll want to do more blending to an omni-directional speaker map, but we need to set the InnerRadius to something greater than 1.0 (i.e. so that the normalized distance of 1.0 will be treated as less than the InnerRadius). To do "full" omni-directional blending, the emitter-listener distance will be 0 or close to zero, and the NormalizedOmniRadius will be very large (i.e. close to infiinity). The previous math just set the NormalizedOmniRadius to FLT_MAX which is fine but that number is eventually squared before making the API call. FLT_MAX squared is INF. Note: I do not think we need to square the OmniRadius in: Emitter.InnerRadius = OmniRadius*OmniRadius; But I am keeping it t here because of legacy content which depends on that behavior. #rb zak.middleton hange 2760401 on 2015/11/10 by Thomas.Sarkanen@Thomas.Sarkanen-Dev-Framework Re-instated deleted protected functions in UAnimInstance. Fixed access of UAnimInstance in FAnimNode_StateMachine. #rb Martin.Wilson Change 2760407 on 2015/11/10 by Jurre.deBaare Construct raw meshes for spline meshes now uses the render data instead of original model data (preserves tangents/normals) Change 2760468 on 2015/11/10 by Benn.Gallagher Anim Dynamics optimizations, cached iteration independant data to reduce footprint of iteration on limits. #rb Graeme.Thornton Change 2760613 on 2015/11/10 by Jeff.Farris Fixed async collision completion delegate potentially firing repeatedly. (UE-23149) #cr marc.audy #codereview lina.halper Change 2760795 on 2015/11/10 by Marc.Audy Don't compile in pointless AddReferencedObjects when with editoronly data not defined Minor coding standard cleanup (NULL and auto) Change 2760848 on 2015/11/10 by Benn.Gallagher Fix to anim instance proxy to not rely on state machine initialization to bind native delegates as nested state machines are not guaranteed to be initialized. This was fixed in UAnimInstance originally but broken again by the proxy instance code. #jira UE-23164 #rb Martin.Wilson Change 2760866 on 2015/11/10 by Marc.Audy Manage transient visualization components for camera component in the same way that sprite component for other actor components are #rb Mike.Beach Change 2760963 on 2015/11/10 by Marc.Audy Since construction script can cause actors to be spawned don't use a ranged for to iterate #jira UE-22639 #rb Jeff.Farris #codereview Dmitriy.Dyomin Change 2762297 on 2015/11/11 by James.Golding UE-23086 Don't ensure in SetRootBodyIndex when Bodies array is empty (ie no physics state created) #rb martin.wilson #codereview ori.cohen, lina.halper Change 2763566 on 2015/11/11 by Lina.Halper FAnimNode_CopyPoseFromMesh::Evaluate - was accessing skeleton joint, not mesh joint. #RB: Laurent.Delayen Change 2763926 on 2015/11/12 by Thomas.Sarkanen Fix anim notifies not firing from single anim instances UE-23248 - Anim Notifies are not working for Animation Sequences UE-23249 - Anim Notifies using Sound Cues do not work #rb James.Golding Change 2764039 on 2015/11/12 by Jurre.deBaare Fix for issue with incorrect material indices after reducing a skeletal mesh with non LOD0 mesh as BaseLOD (OR-9243) #rb Lina.Halper Change 2764307 on 2015/11/12 by Jurre.deBaare VS2015 SSF library Change 2764314 on 2015/11/12 by Stan.Melax crashfix was putting bad bodies to sleep at start Fatal error! Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000 UE4Editor-Engine.dll!USkeletalMeshComponent::InitArticulated() [...\\engine\\source\\runtime\\engine\\private\\skeletalmeshcomponentphysics.cpp:875] On some skeletalmeshcomponent, some bodies aren't getting created correctly. Trying to force them to sleep was causing a crash - it expected instantiated physx bodies. Seems that all the rest of the code is able to tolerate bad bodies. Added check to ensure physx body exists before trying to force it to sleep. not sure if bad bodies are the norm or if this fix is just more "kicking the can down the road". #codereview ori.cohen Change 2764343 on 2015/11/12 by Jurre.deBaare - Fixed crash when building a LOD with SubActors.Num < 2 - Force HLOD level slider is now always enabled, however won't show complete image if not all HLODs are build - LODActor tree view item now scrolls into view if selected in the world - Set bAllowCullDistanceVolume to false for LODActor's static mesh components by default - Added 7zip files - Fixed issue with WinINet complaining about http-request without 'http://' prefix - Changed % reduced or original triangles display string, now uses float instead of int (for < 1% reductions) - Override texture sizes and automatic texture bias - Fixed issue with incorrect material merging, not picking up it required mesh-data during baking. Added extra conditions for rendering with mesh-data. - Now incorporate static meshes with opague materials into HLOD merging - Fixed issue with incorrect normals after merging meshes who's owning components had been negatively scaled - Fixed issue with incorrect texture size being set from MergeActor window (was only changing .X component) - Fixed issue with material merging when meshes with multiple LODs are merged, right now only merges LOD0's together if we are also merging the materials (otherwise, merge each LOD) - Added ENUM for texture scaling/resizing type that has to be applied while merging the materials - Added detail customization class for FMaterialProxySettings #rb James.Golding [CL 2765024 by Marc Audy in Main branch]
2015-11-12 18:11:48 -05:00
#include "Animation/AnimInstanceProxy.h"
#include "Animation/AnimTrace.h"
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
float FAnimNode_SequenceEvaluatorBase::GetCurrentAssetTime() const
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2868852 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. #rb Lukasz.Furman #codereview John.Abercrombie Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2855722 on 2016/02/04 by Zak.Middleton #ue4 - Expose PrimitiveComponent GetCollisionEnabled(), IsCollisionEnabled(), IsQueryCollisionEnabled(), IsPhysicsCollisionEnabled() functions to blueprints. #rb Daniel.Broder, Ori.Cohen #codereview Bob.Tellez #jira UE-26411 Change 2855737 on 2016/02/04 by James.Golding Add test AssetUserData C++ class to QAGame Change 2855739 on 2016/02/04 by James.Golding PR #1858 : Add abstract and editinlinenew to AssetUserData class, so derived classes can be added to assets via details panel https://github.com/EpicGames/UnrealEngine/pull/1858 #github 1858 #jira UE-24494 #rb thomas.sarkanen Change 2855842 on 2016/02/04 by James.Golding UE-23968 : Add clamping to Friction, Restitution, Density and RaiseMassToPower properties of PhysicalMaterial #codereview ori.cohen #rb thomas.sarkanen Change 2855843 on 2016/02/04 by James.Golding PR #1984 : Add 'AssetUserData' support to AnimationAsset/Texture https://github.com/EpicGames/UnrealEngine/pull/1984 #github 1984 #jira UE-25913 #rb thomas.sarkanen Change 2855844 on 2016/02/04 by James.Golding UE-23176 Fix incorrect clamping in GenerateKDopAsSimpleCollision() which could cause degenerate hulls Also don't 'nudge' kdops if there are other primitives present, will offset from mesh we were fitting around #rb thomas.sarkanen Change 2855850 on 2016/02/04 by Benn.Gallagher Update required LOD bones when associating a cloth chunk that uses bones that aren't weighted to that LOD #rb Martin.Wilson Change 2856409 on 2016/02/04 by Zak.Middleton #ue4 - Change LogSpawn warnings to normal logs for cases that are common and valid during gameplay (failed due to collision at the target location, or failed because it is destroyed in the process of spawning, ie projectile spawned in a target). #codereview Jeff.Farris Change 2857018 on 2016/02/05 by Benn.Gallagher Fixes for various anim graph related subgraph issues/crashes #rb Ben.Cosh Change 2857193 on 2016/02/05 by Lukasz.Furman extended crowd agent interface to handle avoidance groups #ue4 UE-24823 #1896 Change 2857200 on 2016/02/05 by Lukasz.Furman fixed memory leak in CrowdManager #ue UE-26516 #2026 #codereview Mieszko.Zielinski Change 2857417 on 2016/02/05 by Lina.Halper Add keyword for animation functions Change 2858854 on 2016/02/08 by Benn.Gallagher Fixed pose evaluator customizations being processed at the wrong time which caused properties to always be re-added even if removed from the details panel, causing duplicated entries. #jira UE-8421 #rb Lina.Halper Change 2858855 on 2016/02/08 by Benn.Gallagher Fixed blendspace players only reporting normalized time when using a time getter in an anim graph transition. #rb Lina.Halper Change 2859159 on 2016/02/08 by Aaron.McLeran UE-25586 Fix for reporting audio memory usage - Realtime decompressed sounds that have CachedRealtimeFirstBuffers need to report the compressed asset size Change 2859192 on 2016/02/08 by Laurent.Delayen Removed check disallowing cooked additive animations from using AnimationRelative and AnimationScale retargeting modes (on the root bone or editor). Skip AnimationRelative retargeting for baked additive animations since it gets cancelled out during the additive creation process. #rb martin.wilson #codereview lina.halper Change 2859238 on 2016/02/08 by Lina.Halper Git pull request #1895 Change 2859239 on 2016/02/08 by Lina.Halper Git pull request #1813 Change 2859453 on 2016/02/08 by Aaron.McLeran [CL 2868856 by Marc Audy in Main branch]
2016-02-16 13:35:21 -05:00
{
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
return GetExplicitTime();
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2868852 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. #rb Lukasz.Furman #codereview John.Abercrombie Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2855722 on 2016/02/04 by Zak.Middleton #ue4 - Expose PrimitiveComponent GetCollisionEnabled(), IsCollisionEnabled(), IsQueryCollisionEnabled(), IsPhysicsCollisionEnabled() functions to blueprints. #rb Daniel.Broder, Ori.Cohen #codereview Bob.Tellez #jira UE-26411 Change 2855737 on 2016/02/04 by James.Golding Add test AssetUserData C++ class to QAGame Change 2855739 on 2016/02/04 by James.Golding PR #1858 : Add abstract and editinlinenew to AssetUserData class, so derived classes can be added to assets via details panel https://github.com/EpicGames/UnrealEngine/pull/1858 #github 1858 #jira UE-24494 #rb thomas.sarkanen Change 2855842 on 2016/02/04 by James.Golding UE-23968 : Add clamping to Friction, Restitution, Density and RaiseMassToPower properties of PhysicalMaterial #codereview ori.cohen #rb thomas.sarkanen Change 2855843 on 2016/02/04 by James.Golding PR #1984 : Add 'AssetUserData' support to AnimationAsset/Texture https://github.com/EpicGames/UnrealEngine/pull/1984 #github 1984 #jira UE-25913 #rb thomas.sarkanen Change 2855844 on 2016/02/04 by James.Golding UE-23176 Fix incorrect clamping in GenerateKDopAsSimpleCollision() which could cause degenerate hulls Also don't 'nudge' kdops if there are other primitives present, will offset from mesh we were fitting around #rb thomas.sarkanen Change 2855850 on 2016/02/04 by Benn.Gallagher Update required LOD bones when associating a cloth chunk that uses bones that aren't weighted to that LOD #rb Martin.Wilson Change 2856409 on 2016/02/04 by Zak.Middleton #ue4 - Change LogSpawn warnings to normal logs for cases that are common and valid during gameplay (failed due to collision at the target location, or failed because it is destroyed in the process of spawning, ie projectile spawned in a target). #codereview Jeff.Farris Change 2857018 on 2016/02/05 by Benn.Gallagher Fixes for various anim graph related subgraph issues/crashes #rb Ben.Cosh Change 2857193 on 2016/02/05 by Lukasz.Furman extended crowd agent interface to handle avoidance groups #ue4 UE-24823 #1896 Change 2857200 on 2016/02/05 by Lukasz.Furman fixed memory leak in CrowdManager #ue UE-26516 #2026 #codereview Mieszko.Zielinski Change 2857417 on 2016/02/05 by Lina.Halper Add keyword for animation functions Change 2858854 on 2016/02/08 by Benn.Gallagher Fixed pose evaluator customizations being processed at the wrong time which caused properties to always be re-added even if removed from the details panel, causing duplicated entries. #jira UE-8421 #rb Lina.Halper Change 2858855 on 2016/02/08 by Benn.Gallagher Fixed blendspace players only reporting normalized time when using a time getter in an anim graph transition. #rb Lina.Halper Change 2859159 on 2016/02/08 by Aaron.McLeran UE-25586 Fix for reporting audio memory usage - Realtime decompressed sounds that have CachedRealtimeFirstBuffers need to report the compressed asset size Change 2859192 on 2016/02/08 by Laurent.Delayen Removed check disallowing cooked additive animations from using AnimationRelative and AnimationScale retargeting modes (on the root bone or editor). Skip AnimationRelative retargeting for baked additive animations since it gets cancelled out during the additive creation process. #rb martin.wilson #codereview lina.halper Change 2859238 on 2016/02/08 by Lina.Halper Git pull request #1895 Change 2859239 on 2016/02/08 by Lina.Halper Git pull request #1813 Change 2859453 on 2016/02/08 by Aaron.McLeran [CL 2868856 by Marc Audy in Main branch]
2016-02-16 13:35:21 -05:00
}
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
float FAnimNode_SequenceEvaluatorBase::GetCurrentAssetLength() const
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2868852 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. #rb Lukasz.Furman #codereview John.Abercrombie Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2855722 on 2016/02/04 by Zak.Middleton #ue4 - Expose PrimitiveComponent GetCollisionEnabled(), IsCollisionEnabled(), IsQueryCollisionEnabled(), IsPhysicsCollisionEnabled() functions to blueprints. #rb Daniel.Broder, Ori.Cohen #codereview Bob.Tellez #jira UE-26411 Change 2855737 on 2016/02/04 by James.Golding Add test AssetUserData C++ class to QAGame Change 2855739 on 2016/02/04 by James.Golding PR #1858 : Add abstract and editinlinenew to AssetUserData class, so derived classes can be added to assets via details panel https://github.com/EpicGames/UnrealEngine/pull/1858 #github 1858 #jira UE-24494 #rb thomas.sarkanen Change 2855842 on 2016/02/04 by James.Golding UE-23968 : Add clamping to Friction, Restitution, Density and RaiseMassToPower properties of PhysicalMaterial #codereview ori.cohen #rb thomas.sarkanen Change 2855843 on 2016/02/04 by James.Golding PR #1984 : Add 'AssetUserData' support to AnimationAsset/Texture https://github.com/EpicGames/UnrealEngine/pull/1984 #github 1984 #jira UE-25913 #rb thomas.sarkanen Change 2855844 on 2016/02/04 by James.Golding UE-23176 Fix incorrect clamping in GenerateKDopAsSimpleCollision() which could cause degenerate hulls Also don't 'nudge' kdops if there are other primitives present, will offset from mesh we were fitting around #rb thomas.sarkanen Change 2855850 on 2016/02/04 by Benn.Gallagher Update required LOD bones when associating a cloth chunk that uses bones that aren't weighted to that LOD #rb Martin.Wilson Change 2856409 on 2016/02/04 by Zak.Middleton #ue4 - Change LogSpawn warnings to normal logs for cases that are common and valid during gameplay (failed due to collision at the target location, or failed because it is destroyed in the process of spawning, ie projectile spawned in a target). #codereview Jeff.Farris Change 2857018 on 2016/02/05 by Benn.Gallagher Fixes for various anim graph related subgraph issues/crashes #rb Ben.Cosh Change 2857193 on 2016/02/05 by Lukasz.Furman extended crowd agent interface to handle avoidance groups #ue4 UE-24823 #1896 Change 2857200 on 2016/02/05 by Lukasz.Furman fixed memory leak in CrowdManager #ue UE-26516 #2026 #codereview Mieszko.Zielinski Change 2857417 on 2016/02/05 by Lina.Halper Add keyword for animation functions Change 2858854 on 2016/02/08 by Benn.Gallagher Fixed pose evaluator customizations being processed at the wrong time which caused properties to always be re-added even if removed from the details panel, causing duplicated entries. #jira UE-8421 #rb Lina.Halper Change 2858855 on 2016/02/08 by Benn.Gallagher Fixed blendspace players only reporting normalized time when using a time getter in an anim graph transition. #rb Lina.Halper Change 2859159 on 2016/02/08 by Aaron.McLeran UE-25586 Fix for reporting audio memory usage - Realtime decompressed sounds that have CachedRealtimeFirstBuffers need to report the compressed asset size Change 2859192 on 2016/02/08 by Laurent.Delayen Removed check disallowing cooked additive animations from using AnimationRelative and AnimationScale retargeting modes (on the root bone or editor). Skip AnimationRelative retargeting for baked additive animations since it gets cancelled out during the additive creation process. #rb martin.wilson #codereview lina.halper Change 2859238 on 2016/02/08 by Lina.Halper Git pull request #1895 Change 2859239 on 2016/02/08 by Lina.Halper Git pull request #1813 Change 2859453 on 2016/02/08 by Aaron.McLeran [CL 2868856 by Marc Audy in Main branch]
2016-02-16 13:35:21 -05:00
{
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
UAnimSequenceBase* CurrentSequence = GetSequence();
return CurrentSequence ? CurrentSequence->GetPlayLength() : 0.0f;
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2868852 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. #rb Lukasz.Furman #codereview John.Abercrombie Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2855722 on 2016/02/04 by Zak.Middleton #ue4 - Expose PrimitiveComponent GetCollisionEnabled(), IsCollisionEnabled(), IsQueryCollisionEnabled(), IsPhysicsCollisionEnabled() functions to blueprints. #rb Daniel.Broder, Ori.Cohen #codereview Bob.Tellez #jira UE-26411 Change 2855737 on 2016/02/04 by James.Golding Add test AssetUserData C++ class to QAGame Change 2855739 on 2016/02/04 by James.Golding PR #1858 : Add abstract and editinlinenew to AssetUserData class, so derived classes can be added to assets via details panel https://github.com/EpicGames/UnrealEngine/pull/1858 #github 1858 #jira UE-24494 #rb thomas.sarkanen Change 2855842 on 2016/02/04 by James.Golding UE-23968 : Add clamping to Friction, Restitution, Density and RaiseMassToPower properties of PhysicalMaterial #codereview ori.cohen #rb thomas.sarkanen Change 2855843 on 2016/02/04 by James.Golding PR #1984 : Add 'AssetUserData' support to AnimationAsset/Texture https://github.com/EpicGames/UnrealEngine/pull/1984 #github 1984 #jira UE-25913 #rb thomas.sarkanen Change 2855844 on 2016/02/04 by James.Golding UE-23176 Fix incorrect clamping in GenerateKDopAsSimpleCollision() which could cause degenerate hulls Also don't 'nudge' kdops if there are other primitives present, will offset from mesh we were fitting around #rb thomas.sarkanen Change 2855850 on 2016/02/04 by Benn.Gallagher Update required LOD bones when associating a cloth chunk that uses bones that aren't weighted to that LOD #rb Martin.Wilson Change 2856409 on 2016/02/04 by Zak.Middleton #ue4 - Change LogSpawn warnings to normal logs for cases that are common and valid during gameplay (failed due to collision at the target location, or failed because it is destroyed in the process of spawning, ie projectile spawned in a target). #codereview Jeff.Farris Change 2857018 on 2016/02/05 by Benn.Gallagher Fixes for various anim graph related subgraph issues/crashes #rb Ben.Cosh Change 2857193 on 2016/02/05 by Lukasz.Furman extended crowd agent interface to handle avoidance groups #ue4 UE-24823 #1896 Change 2857200 on 2016/02/05 by Lukasz.Furman fixed memory leak in CrowdManager #ue UE-26516 #2026 #codereview Mieszko.Zielinski Change 2857417 on 2016/02/05 by Lina.Halper Add keyword for animation functions Change 2858854 on 2016/02/08 by Benn.Gallagher Fixed pose evaluator customizations being processed at the wrong time which caused properties to always be re-added even if removed from the details panel, causing duplicated entries. #jira UE-8421 #rb Lina.Halper Change 2858855 on 2016/02/08 by Benn.Gallagher Fixed blendspace players only reporting normalized time when using a time getter in an anim graph transition. #rb Lina.Halper Change 2859159 on 2016/02/08 by Aaron.McLeran UE-25586 Fix for reporting audio memory usage - Realtime decompressed sounds that have CachedRealtimeFirstBuffers need to report the compressed asset size Change 2859192 on 2016/02/08 by Laurent.Delayen Removed check disallowing cooked additive animations from using AnimationRelative and AnimationScale retargeting modes (on the root bone or editor). Skip AnimationRelative retargeting for baked additive animations since it gets cancelled out during the additive creation process. #rb martin.wilson #codereview lina.halper Change 2859238 on 2016/02/08 by Lina.Halper Git pull request #1895 Change 2859239 on 2016/02/08 by Lina.Halper Git pull request #1813 Change 2859453 on 2016/02/08 by Aaron.McLeran [CL 2868856 by Marc Audy in Main branch]
2016-02-16 13:35:21 -05:00
}
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
void FAnimNode_SequenceEvaluatorBase::Initialize_AnyThread(const FAnimationInitializeContext& Context)
{
DECLARE_SCOPE_HIERARCHICAL_COUNTER_ANIMNODE(Initialize_AnyThread)
FAnimNode_AssetPlayerBase::Initialize_AnyThread(Context);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
bReinitialized = true;
}
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
void FAnimNode_SequenceEvaluatorBase::CacheBones_AnyThread(const FAnimationCacheBonesContext& Context)
{
DECLARE_SCOPE_HIERARCHICAL_COUNTER_ANIMNODE(CacheBones_AnyThread)
}
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
void FAnimNode_SequenceEvaluatorBase::UpdateAssetPlayer(const FAnimationUpdateContext& Context)
{
GetEvaluateGraphExposedInputs().Execute(Context);
Copying //UE4/Orion-Staging (Orion Main @ CL-2792706 to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2792706 on 2015/12/07 by Terence.Burns Rebuild lightmaps automation changes - Sync and Build binary files for execution - Much improved error handling - Email notification support added. #Note - This should massively simplify the batch script we use to rebuild lightmaps. #rb none #Tests Run the RebuildLightmaps commandlet many times to ensure it runs and errors correctly. Change 2791950 on 2015/12/05 by Matt.Kuhlenschmidt Added settings to toggle on and off display of Ping and FPS values. Server FPS will be disabled before ship #rb none #test pc/ps4 golden path, pie Change 2791827 on 2015/12/05 by Marcus.Wassmer Fix texture memory leak. Fixes automation using too much memory. #rb Brad.Angelcyk #codereview bob.ferreira #test automation runs, editor. Change 2791313 on 2015/12/04 by Martin.Mittring fixed PS4 compiling #rb:Michael.Noland #test:not Change 2791014 on 2015/12/04 by Martin.Mittring nicer cvar help for r.PS4ContinuousSubmits #rb:Olaf.Piesche #code_review:Marcus.Wassmer #test:PC Change 2791011 on 2015/12/04 by Martin.Mittring fixed compile error when disabling ENABLE_TEXTURE_TRACKING #rb:Olaf.Piesche #test:run Paragon on PC Change 2790848 on 2015/12/04 by Martin.Mittring missing changes nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2790840 on 2015/12/04 by Martin.Mittring nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2791585 on 2015/12/04 by Michael.Noland Rendering: Added a more actionable error message to a check() failure for a FStaticLightingMesh that has already been processed when building lighting in a map that contains HLOD #rb None #tests Built lighting in a map that was crashing at this check() and verified that the message indicated the problematic mesh Change 2791244 on 2015/12/04 by Ryan.Brucks Submitting all my Paragon Content before the new Agora Branch. Change 2791240 on 2015/12/04 by Marcus.Wassmer Bump to .061 patch and new pub tools to pass cert #rb non #test compile ps4 Change 2791132 on 2015/12/04 by ryan.brucks RenderToTextureMacros: fixed issue with polygon index being +1 on accident Change 2790747 on 2015/12/04 by Terence.Burns Rebuild Lightmaps Automation Script - Adding the -unattended switch for build machines. #rb None #tests Run through the Rebuild Lightmaps UAT script process. Change 2790589 on 2015/12/04 by Bart.Bressler - Invite PS4 friend option for add party member button now works properly, also fixes crash. Fixes OR-10359. #rb sam.zamani #tests invited ps4 player using Invite PS4 Friend option, confirmed that player joined mcp party and ps4 session Change 2790418 on 2015/12/04 by James.Golding Roll back HLOD lightmap UV change, Oz reporting issues when building lighting, need more investigation #rb none #tests none Change 2790333 on 2015/12/04 by James.Golding Add fallback to FMeshUtilities::PropagatePaintedColorsToRawMesh when mesh has been reduced in engine and WedgeMap is missing #rb martin.wilson #codereview jurre.debaare #tests Built HLOD meshes in the editor Change 2790292 on 2015/12/04 by Olaf.Piesche Free the new particle array at the beginning of the tick for each instance; that way, even if we're not rendering the array will be cleared and we don't keep injecting new particles that never get killed until rendering resumes #rb marcus.wassmer #tests Editor, PIE Change 2790003 on 2015/12/04 by James.Golding Fix possible crash in ALODActor::RemoveSubActor #rb keith.judge #codereview jurre.debaare #tests Generated HLOD proxy in editor Change 2789998 on 2015/12/04 by James.Golding
2015-12-08 09:25:02 -05:00
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
float CurrentExplicitTime = GetExplicitTime();
UAnimSequenceBase* CurrentSequence = GetSequence();
if (CurrentSequence)
{
Copying //UE4/Orion-Staging (Orion Main @ CL-2792706 to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2792706 on 2015/12/07 by Terence.Burns Rebuild lightmaps automation changes - Sync and Build binary files for execution - Much improved error handling - Email notification support added. #Note - This should massively simplify the batch script we use to rebuild lightmaps. #rb none #Tests Run the RebuildLightmaps commandlet many times to ensure it runs and errors correctly. Change 2791950 on 2015/12/05 by Matt.Kuhlenschmidt Added settings to toggle on and off display of Ping and FPS values. Server FPS will be disabled before ship #rb none #test pc/ps4 golden path, pie Change 2791827 on 2015/12/05 by Marcus.Wassmer Fix texture memory leak. Fixes automation using too much memory. #rb Brad.Angelcyk #codereview bob.ferreira #test automation runs, editor. Change 2791313 on 2015/12/04 by Martin.Mittring fixed PS4 compiling #rb:Michael.Noland #test:not Change 2791014 on 2015/12/04 by Martin.Mittring nicer cvar help for r.PS4ContinuousSubmits #rb:Olaf.Piesche #code_review:Marcus.Wassmer #test:PC Change 2791011 on 2015/12/04 by Martin.Mittring fixed compile error when disabling ENABLE_TEXTURE_TRACKING #rb:Olaf.Piesche #test:run Paragon on PC Change 2790848 on 2015/12/04 by Martin.Mittring missing changes nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2790840 on 2015/12/04 by Martin.Mittring nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2791585 on 2015/12/04 by Michael.Noland Rendering: Added a more actionable error message to a check() failure for a FStaticLightingMesh that has already been processed when building lighting in a map that contains HLOD #rb None #tests Built lighting in a map that was crashing at this check() and verified that the message indicated the problematic mesh Change 2791244 on 2015/12/04 by Ryan.Brucks Submitting all my Paragon Content before the new Agora Branch. Change 2791240 on 2015/12/04 by Marcus.Wassmer Bump to .061 patch and new pub tools to pass cert #rb non #test compile ps4 Change 2791132 on 2015/12/04 by ryan.brucks RenderToTextureMacros: fixed issue with polygon index being +1 on accident Change 2790747 on 2015/12/04 by Terence.Burns Rebuild Lightmaps Automation Script - Adding the -unattended switch for build machines. #rb None #tests Run through the Rebuild Lightmaps UAT script process. Change 2790589 on 2015/12/04 by Bart.Bressler - Invite PS4 friend option for add party member button now works properly, also fixes crash. Fixes OR-10359. #rb sam.zamani #tests invited ps4 player using Invite PS4 Friend option, confirmed that player joined mcp party and ps4 session Change 2790418 on 2015/12/04 by James.Golding Roll back HLOD lightmap UV change, Oz reporting issues when building lighting, need more investigation #rb none #tests none Change 2790333 on 2015/12/04 by James.Golding Add fallback to FMeshUtilities::PropagatePaintedColorsToRawMesh when mesh has been reduced in engine and WedgeMap is missing #rb martin.wilson #codereview jurre.debaare #tests Built HLOD meshes in the editor Change 2790292 on 2015/12/04 by Olaf.Piesche Free the new particle array at the beginning of the tick for each instance; that way, even if we're not rendering the array will be cleared and we don't keep injecting new particles that never get killed until rendering resumes #rb marcus.wassmer #tests Editor, PIE Change 2790003 on 2015/12/04 by James.Golding Fix possible crash in ALODActor::RemoveSubActor #rb keith.judge #codereview jurre.debaare #tests Generated HLOD proxy in editor Change 2789998 on 2015/12/04 by James.Golding
2015-12-08 09:25:02 -05:00
// Clamp input to a valid position on this sequence's time line.
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
CurrentExplicitTime = FMath::Clamp(CurrentExplicitTime, 0.f, CurrentSequence->GetPlayLength());
Copying //UE4/Orion-Staging (Orion Main @ CL-2792706 to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2792706 on 2015/12/07 by Terence.Burns Rebuild lightmaps automation changes - Sync and Build binary files for execution - Much improved error handling - Email notification support added. #Note - This should massively simplify the batch script we use to rebuild lightmaps. #rb none #Tests Run the RebuildLightmaps commandlet many times to ensure it runs and errors correctly. Change 2791950 on 2015/12/05 by Matt.Kuhlenschmidt Added settings to toggle on and off display of Ping and FPS values. Server FPS will be disabled before ship #rb none #test pc/ps4 golden path, pie Change 2791827 on 2015/12/05 by Marcus.Wassmer Fix texture memory leak. Fixes automation using too much memory. #rb Brad.Angelcyk #codereview bob.ferreira #test automation runs, editor. Change 2791313 on 2015/12/04 by Martin.Mittring fixed PS4 compiling #rb:Michael.Noland #test:not Change 2791014 on 2015/12/04 by Martin.Mittring nicer cvar help for r.PS4ContinuousSubmits #rb:Olaf.Piesche #code_review:Marcus.Wassmer #test:PC Change 2791011 on 2015/12/04 by Martin.Mittring fixed compile error when disabling ENABLE_TEXTURE_TRACKING #rb:Olaf.Piesche #test:run Paragon on PC Change 2790848 on 2015/12/04 by Martin.Mittring missing changes nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2790840 on 2015/12/04 by Martin.Mittring nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2791585 on 2015/12/04 by Michael.Noland Rendering: Added a more actionable error message to a check() failure for a FStaticLightingMesh that has already been processed when building lighting in a map that contains HLOD #rb None #tests Built lighting in a map that was crashing at this check() and verified that the message indicated the problematic mesh Change 2791244 on 2015/12/04 by Ryan.Brucks Submitting all my Paragon Content before the new Agora Branch. Change 2791240 on 2015/12/04 by Marcus.Wassmer Bump to .061 patch and new pub tools to pass cert #rb non #test compile ps4 Change 2791132 on 2015/12/04 by ryan.brucks RenderToTextureMacros: fixed issue with polygon index being +1 on accident Change 2790747 on 2015/12/04 by Terence.Burns Rebuild Lightmaps Automation Script - Adding the -unattended switch for build machines. #rb None #tests Run through the Rebuild Lightmaps UAT script process. Change 2790589 on 2015/12/04 by Bart.Bressler - Invite PS4 friend option for add party member button now works properly, also fixes crash. Fixes OR-10359. #rb sam.zamani #tests invited ps4 player using Invite PS4 Friend option, confirmed that player joined mcp party and ps4 session Change 2790418 on 2015/12/04 by James.Golding Roll back HLOD lightmap UV change, Oz reporting issues when building lighting, need more investigation #rb none #tests none Change 2790333 on 2015/12/04 by James.Golding Add fallback to FMeshUtilities::PropagatePaintedColorsToRawMesh when mesh has been reduced in engine and WedgeMap is missing #rb martin.wilson #codereview jurre.debaare #tests Built HLOD meshes in the editor Change 2790292 on 2015/12/04 by Olaf.Piesche Free the new particle array at the beginning of the tick for each instance; that way, even if we're not rendering the array will be cleared and we don't keep injecting new particles that never get killed until rendering resumes #rb marcus.wassmer #tests Editor, PIE Change 2790003 on 2015/12/04 by James.Golding Fix possible crash in ALODActor::RemoveSubActor #rb keith.judge #codereview jurre.debaare #tests Generated HLOD proxy in editor Change 2789998 on 2015/12/04 by James.Golding
2015-12-08 09:25:02 -05:00
if ((!GetTeleportToExplicitTime() || (GetGroupName() != NAME_None) || (GetGroupMethod() == EAnimSyncMethod::Graph)) && (Context.AnimInstanceProxy->IsSkeletonCompatible(CurrentSequence->GetSkeleton())))
{
DeltaTimeRecord.Previous = InternalTimeAccumulator;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
if (bReinitialized)
{
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
switch (GetReinitializationBehavior())
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
case ESequenceEvalReinit::StartPosition: InternalTimeAccumulator = GetStartPosition(); break;
case ESequenceEvalReinit::ExplicitTime: InternalTimeAccumulator = CurrentExplicitTime; break;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
InternalTimeAccumulator = FMath::Clamp(InternalTimeAccumulator, 0.f, CurrentSequence->GetPlayLength());
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 4062005) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4005617 by Danny.Bouimad Fixing TM-AnimPhys lighting so it works on all platforms #jira UEENGQA-19924 Change 4014898 by Aaron.McLeran Adding simple delay feature Change 4025071 by Lina.Halper Fix and more potential fix for invalid bone index issue http://crashreporter/Buggs/Show/2052839 http://crashreporter/Crashes/Show/46656562 #jira: UE-51931 Change 4042493 by Lina.Halper Fix issue with sequence evaluator to handle properly when jumps from end to front or front to end #jira: UE-58429 Change 4042892 by Lina.Halper Fix issue with being able to drag/drop montage onto anim track in sequencer #jira: UE-57863 Change 4043553 by Ethan.Geller #jira UE-58340 Handle calls to FVoiceCaptureWindows::GetVoiceData outside of existing data calls. #rb none Change 4043613 by Lina.Halper Fix issue with incorrect usage of staticclass #jira: UE-54413 Change 4044069 by James.Golding PR #4455: Add FAnimNode_StateMachine subclassing support. (Contributed by redfeatherplusplus) #jira UE-54599 Change 4044070 by James.Golding PR #4349: Final points on a line test were broken, changed Plane.PlaneDot to FM. (Contributed by DSDambuster) #jira UE-53554 Change 4044072 by James.Golding Add ENGINE_API to UPhysicsHandleComponent so it can be subclassed #jira UE-56397 Change 4044073 by James.Golding PR #4611: Expose a few API's so it's possible to make custom anim graph nodes using these objects. (Contributed by ill) #jira UE-57004 Change 4044075 by James.Golding PR #4618: Bugfix: typo in path for CustomMeshComponent (case error) (Contributed by malavon) #jira UE-57077 Change 4044077 by James.Golding Add ClassGroup to some components #jira UE-57587, UE-57609 Change 4044080 by James.Golding PR #4515: Adding API export macro to ACableActor (Contributed by maxtunel) #jira UE-55515 Change 4044082 by James.Golding Remove unused CopySkinnedModelData function #jira UE-57623 Change 4044083 by James.Golding Fix per-poly collision for skel meshes. Make sure to call UpdateKinematicBonesToAnim if bEnablePerPolyCollision is set, even if no bodies Integration of CL 3971421 from Release-4.19 stream #jira UE-56405 Change 4044084 by James.Golding Add option to preview 'fixed bounds' in SkelMesh editors. Change 4044086 by James.Golding Remove unused RigidInfluenceIndex from CPU skinning code Change 4044310 by James.Golding Roll back changes to make PhysX cool fails a log instead of warning (CL 3995372, UE-56466), now that content is fixed Change 4044416 by Lina.Halper Provide BP interface to get curve list of names #jira: UE-52623 Change 4044419 by Lina.Halper added notification for updating pose asset #jira: UE-56233 Change 4046929 by Ethan.Geller #jira none add my developer folder to QAGame. #fyi dan.reynolds Change 4047064 by Ethan.Geller [Dev-AnimPhys] #jira UE-57890 add additional binaries for Steam Audio to LibPhonon.Build.cs. #rb none Change 4047564 by Lina.Halper Fix issue of not regenerating when reimport mesh #jira: UE-58284 Change 4047630 by Ethan.Geller Fix syntax error in libPhonon. #jira none #rb none Change 4048050 by Thomas.Sarkanen Allowed "Follow Bone" to be popped out of the menu into the viewport This allows for quick re-selection of the bone to follow, avoiding multiple clicks Tweaks and extends the "pinned command list" system to allow dynamic text in labels and labels to be hidden. #jira UE-53070 - Follow bone - Follow selected bone Change 4048064 by Thomas.Sarkanen Validate any bone references during compilation Bone references that are set to something other than NAME_None will be verified against the skeleton. Updated various anim nodes to call the base class ValidateAnimNodeDuringCompilation #jira UE-55680 - Anim graph nodes that use FBoneReference all need validation in ValidateAnimNodeDuringCompilation Change 4048468 by James.Golding PR #4319: Allow UAnimNotify_PlayMontageNotify to be inherited by other dlls (Contributed by DSDambuster) #jira UE-53390 Change 4048470 by James.Golding Implement ApplyWorldOffset to CableComponent, to handle origin shifting #jira UE-53560 Change 4048471 by James.Golding PR #4396: fix cachebones for subclasses of FAnimNode_SkeletalControlBase (Contributed by tmiv) #jira UE-53799 Change 4048474 by James.Golding PR #4423: Rename confusing argument in LineBoxIntersection (Contributed by Hybrid0) #jira UE-54145 Change 4048485 by James.Golding Fix compile error display from PoseDriver node #jira UE-58306 Change 4048489 by James.Golding Finish support for ProceduralMeshComponent supporting multiple UV channels #jira UE-54049 Change 4048678 by Thomas.Sarkanen Allowing blend space samples to be optionally moved off-grid Grid samples are now each optionally snapped. #jira UE-56116 - Allow blend spaces to optionally use off-grid sample points Change 4048773 by Lina.Halper Support pose factory with name input #jira: UE-55859 Change 4048844 by David.Hill Material Proxy Settings Updating the max on the material proxy texture size - old value could cause int32 overflow. #jira: UE-55441 Change 4049464 by Lina.Halper update curve is expensive, and we're doing multiple times with same curve sets. I'm changing it so that it only updates main, and copy from main instance to sub/post. #jira: UE-58459 Change 4050939 by Aaron.McLeran PR #4649: Activated reverbs will now take priority when world settings are used (i.e. no volume proxy is in use) (Contributed by Brandon-Wilson) #jira UE-57546 Change 4050954 by Aaron.McLeran PR #4594: Added class type to allow inherited versions of UAudioComponents to be created (Contributed by korypostma) #jira UE-56454 Change 4050960 by Aaron.McLeran Attempt to fix linux build. Change 4051247 by James.Golding Fix ProcMeshComp UpdateSection not copying all UV sets Add test case for ProcMeshComp with multiple UVs #jira UE-54049 Change 4051250 by James.Golding Add bUseHighPrecisionTangentBasis option to SkeletalMesh Change SkeletalMesh source data to store tangents at higher precision #jira UE-58525 Change 4051616 by Thomas.Sarkanen Mass scale is no longer incorrectly clamped This now allows mass scales below 0.01 and above 100. #jira UE-49572 - MassScale has some edge cases for skeletal mesh component and small numbers Change 4051619 by Thomas.Sarkanen Fixed notify drag/drop on high DPI displays #jira UE-55690 - Animation Notifies Do Not Move Past the Center of Timeline On a High DPI Display Change 4051626 by Thomas.Sarkanen Fix anim dynamics debug rendering #jira UE-53902 - Anim Dynamics node is missing wireframe simulation box in preview #jira UE-57983 - GitHub 4674 : UE-57910 Fix the angular limits display issue while selecting the AnimDynamics node Change 4051628 by Thomas.Sarkanen Constraints and bodies now rotate in their own local space in the physics asset editor When local coordinate system is applied #jira UE-50345 - rotating constraints or bodies in Phat with local axis Change 4051634 by Thomas.Sarkanen Automatic rules for state transitions are now shown in tooltips #jira UE-57689 - Animation State Machine Transitions that use bAutomaticRuleBasedOnSequencePlayerInState, should indicate that in the transition Change 4051636 by Thomas.Sarkanen NotifyTriggerChance is now hidden for nodify states as it has no effect #jira UE-55351 - NotifyTriggerChance should be grayed out for UAnimNotifyState Change 4051669 by Thomas.Sarkanen Fixed accidental operation of pinned commands when closing them #jira UE-54051 - Unpinning settings will toggle the next setting Change 4051671 by Thomas.Sarkanen Fix crash importing skeletal mesh with no vertices Not a fix for the jira, but found while investigating #jira UE-56330 - FBX Files Do Not Import After Using the Facial Anim Importer Unless Project is Reopened Change 4051684 by James.Golding Fix high precision tangents when CPU skinning and mesh merging Remember bExistingUseHighPrecisionTangentBasis when re-importing SkelMesh #jira UE-58525 Change 4051686 by James.Golding PR #4297: Output animation name with ensure() - useful when debugging (Contributed by DSDambuster) #jira UE-53259 Change 4051801 by Jurre.deBaare A BlendSpace that puts the same asset on samples can stop its own animation on Switch #fix Ensure that we don't cause divide-by-zero situations when sampling blendspace data #jira UE-54030 Change 4051806 by Jurre.deBaare Fix geometry cache reimport + serialization issues Change 4051807 by Jurre.deBaare Currently, it's not possible to assigned a material to a Geometry Cache .uasset #fix EditAnywhere rather than VisibleAnywhere #jira UE-58212 Change 4051809 by Jurre.deBaare GeomCache: Crash/Bug: When importing file #fix Ensure that we have a valid first frame when trying to import a sequence, if not error-out #jira UE-58285 Change 4051813 by Jurre.deBaare GeomCache: Bug: Normals Broken #jira UE-58287 GeomCache - Normals are Bad on Import #jira UE-58283 #fix ensure that we triangulate mesh attributes when necessary #misc per-attribute indices check Change 4051816 by Jurre.deBaare Alembic QOL - Fix issue with reimport object flags not being applied - Now also store sampling data as part of Alembic asset import data Change 4051817 by Jurre.deBaare PR #4550: Fixes bug where "Merge Actors" or HLOD proxies result in too many mesh sections (Contributed by trond) #fix Integrated pull-request in different form #jira UE-55976 Change 4051818 by Jurre.deBaare Emissive isn't baked correctly in TM-MeshbakeMap #fix ensure that we OR and Max the material flags and emissive scale #jira UE-54889 Change 4051819 by Jurre.deBaare Crash on project load when GeometryCache plugin is disabled #fix No longer force-load the geometry cache module as it was moved to be a plugin #jira UE-57875 Change 4051820 by Jurre.deBaare CLONE - Editor crash when Propagating Vertex Colors to Asset's source mesh #fix IsValidIndex check #jira UE-57127 Vertex painting Change 4051828 by Jurre.deBaare Merging negative-scaled actors breaks materials #fix Make sure we also reverse the section indices when a static mesh has a mirrored transform #jira UE-56953 Change 4051834 by Jurre.deBaare Unclear warnings when generating clusters in persistent level when sublevels have HLOD disabled #fix improved warning text + added uobject link to level in content browser #jira UE-55734 Change 4051993 by Jurre.deBaare Update Alembic automated test ground truth #jira none Change 4052937 by James.Golding Remove now-unused version (merged change to skel source data from Main instead) Change 4053291 by Aaron.McLeran Fix for CIS #jira none Change 4053375 by Aaron.McLeran #jira UE-58716 Allow ability to bypass volume-weighting with using sound wave priority Change 4057170 by Thomas.Sarkanen Fix shadow variable warning #jira UE-58806 - Linux: Shadow Variable Warnings building Editor - PhysicsAssetEditorEditMode.cpp Change 4057653 by Lina.Halper Fix the issue with showing same item multiple times when opening control rig blueprint many times #jira: UE-58107 Change 4057701 by Jurre.deBaare //UE4/Dev-AnimPhys - Step 'Run Automated Tests' has completed with 13 Errors #fix reupdate alembic ground truths, little bit of a weird state #jira UE-58818 Change 4057710 by Ethan.Geller [Dev-AnimPhys] #jira UE-58004 Early exit if finish was called before StartSubmixRecording. #rb Aaron.McLeran Change 4059295 by Ethan.Geller #jira UE-58004 Reduce logs from fatal to error, fix serialize crash. #rb aaron.mcleran Change 4061061 by Aaron.McLeran Fixing animphys build from recent merge from main. #jira UE-58909 Change 4053154 by Aaron.McLeran #jira UE-58708 Fix to mic component to reduce clicks/pops on mic input. Fix was to simplify the way audio is copied from mic input. This change was used on the GDC demo floor for a number of features. [CL 4062611 by Aaron McLeran in Main branch]
2018-05-09 18:45:58 -04:00
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
const float TimeJump = GetEffectiveDeltaTime(CurrentExplicitTime, InternalTimeAccumulator);
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 4062005) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4005617 by Danny.Bouimad Fixing TM-AnimPhys lighting so it works on all platforms #jira UEENGQA-19924 Change 4014898 by Aaron.McLeran Adding simple delay feature Change 4025071 by Lina.Halper Fix and more potential fix for invalid bone index issue http://crashreporter/Buggs/Show/2052839 http://crashreporter/Crashes/Show/46656562 #jira: UE-51931 Change 4042493 by Lina.Halper Fix issue with sequence evaluator to handle properly when jumps from end to front or front to end #jira: UE-58429 Change 4042892 by Lina.Halper Fix issue with being able to drag/drop montage onto anim track in sequencer #jira: UE-57863 Change 4043553 by Ethan.Geller #jira UE-58340 Handle calls to FVoiceCaptureWindows::GetVoiceData outside of existing data calls. #rb none Change 4043613 by Lina.Halper Fix issue with incorrect usage of staticclass #jira: UE-54413 Change 4044069 by James.Golding PR #4455: Add FAnimNode_StateMachine subclassing support. (Contributed by redfeatherplusplus) #jira UE-54599 Change 4044070 by James.Golding PR #4349: Final points on a line test were broken, changed Plane.PlaneDot to FM. (Contributed by DSDambuster) #jira UE-53554 Change 4044072 by James.Golding Add ENGINE_API to UPhysicsHandleComponent so it can be subclassed #jira UE-56397 Change 4044073 by James.Golding PR #4611: Expose a few API's so it's possible to make custom anim graph nodes using these objects. (Contributed by ill) #jira UE-57004 Change 4044075 by James.Golding PR #4618: Bugfix: typo in path for CustomMeshComponent (case error) (Contributed by malavon) #jira UE-57077 Change 4044077 by James.Golding Add ClassGroup to some components #jira UE-57587, UE-57609 Change 4044080 by James.Golding PR #4515: Adding API export macro to ACableActor (Contributed by maxtunel) #jira UE-55515 Change 4044082 by James.Golding Remove unused CopySkinnedModelData function #jira UE-57623 Change 4044083 by James.Golding Fix per-poly collision for skel meshes. Make sure to call UpdateKinematicBonesToAnim if bEnablePerPolyCollision is set, even if no bodies Integration of CL 3971421 from Release-4.19 stream #jira UE-56405 Change 4044084 by James.Golding Add option to preview 'fixed bounds' in SkelMesh editors. Change 4044086 by James.Golding Remove unused RigidInfluenceIndex from CPU skinning code Change 4044310 by James.Golding Roll back changes to make PhysX cool fails a log instead of warning (CL 3995372, UE-56466), now that content is fixed Change 4044416 by Lina.Halper Provide BP interface to get curve list of names #jira: UE-52623 Change 4044419 by Lina.Halper added notification for updating pose asset #jira: UE-56233 Change 4046929 by Ethan.Geller #jira none add my developer folder to QAGame. #fyi dan.reynolds Change 4047064 by Ethan.Geller [Dev-AnimPhys] #jira UE-57890 add additional binaries for Steam Audio to LibPhonon.Build.cs. #rb none Change 4047564 by Lina.Halper Fix issue of not regenerating when reimport mesh #jira: UE-58284 Change 4047630 by Ethan.Geller Fix syntax error in libPhonon. #jira none #rb none Change 4048050 by Thomas.Sarkanen Allowed "Follow Bone" to be popped out of the menu into the viewport This allows for quick re-selection of the bone to follow, avoiding multiple clicks Tweaks and extends the "pinned command list" system to allow dynamic text in labels and labels to be hidden. #jira UE-53070 - Follow bone - Follow selected bone Change 4048064 by Thomas.Sarkanen Validate any bone references during compilation Bone references that are set to something other than NAME_None will be verified against the skeleton. Updated various anim nodes to call the base class ValidateAnimNodeDuringCompilation #jira UE-55680 - Anim graph nodes that use FBoneReference all need validation in ValidateAnimNodeDuringCompilation Change 4048468 by James.Golding PR #4319: Allow UAnimNotify_PlayMontageNotify to be inherited by other dlls (Contributed by DSDambuster) #jira UE-53390 Change 4048470 by James.Golding Implement ApplyWorldOffset to CableComponent, to handle origin shifting #jira UE-53560 Change 4048471 by James.Golding PR #4396: fix cachebones for subclasses of FAnimNode_SkeletalControlBase (Contributed by tmiv) #jira UE-53799 Change 4048474 by James.Golding PR #4423: Rename confusing argument in LineBoxIntersection (Contributed by Hybrid0) #jira UE-54145 Change 4048485 by James.Golding Fix compile error display from PoseDriver node #jira UE-58306 Change 4048489 by James.Golding Finish support for ProceduralMeshComponent supporting multiple UV channels #jira UE-54049 Change 4048678 by Thomas.Sarkanen Allowing blend space samples to be optionally moved off-grid Grid samples are now each optionally snapped. #jira UE-56116 - Allow blend spaces to optionally use off-grid sample points Change 4048773 by Lina.Halper Support pose factory with name input #jira: UE-55859 Change 4048844 by David.Hill Material Proxy Settings Updating the max on the material proxy texture size - old value could cause int32 overflow. #jira: UE-55441 Change 4049464 by Lina.Halper update curve is expensive, and we're doing multiple times with same curve sets. I'm changing it so that it only updates main, and copy from main instance to sub/post. #jira: UE-58459 Change 4050939 by Aaron.McLeran PR #4649: Activated reverbs will now take priority when world settings are used (i.e. no volume proxy is in use) (Contributed by Brandon-Wilson) #jira UE-57546 Change 4050954 by Aaron.McLeran PR #4594: Added class type to allow inherited versions of UAudioComponents to be created (Contributed by korypostma) #jira UE-56454 Change 4050960 by Aaron.McLeran Attempt to fix linux build. Change 4051247 by James.Golding Fix ProcMeshComp UpdateSection not copying all UV sets Add test case for ProcMeshComp with multiple UVs #jira UE-54049 Change 4051250 by James.Golding Add bUseHighPrecisionTangentBasis option to SkeletalMesh Change SkeletalMesh source data to store tangents at higher precision #jira UE-58525 Change 4051616 by Thomas.Sarkanen Mass scale is no longer incorrectly clamped This now allows mass scales below 0.01 and above 100. #jira UE-49572 - MassScale has some edge cases for skeletal mesh component and small numbers Change 4051619 by Thomas.Sarkanen Fixed notify drag/drop on high DPI displays #jira UE-55690 - Animation Notifies Do Not Move Past the Center of Timeline On a High DPI Display Change 4051626 by Thomas.Sarkanen Fix anim dynamics debug rendering #jira UE-53902 - Anim Dynamics node is missing wireframe simulation box in preview #jira UE-57983 - GitHub 4674 : UE-57910 Fix the angular limits display issue while selecting the AnimDynamics node Change 4051628 by Thomas.Sarkanen Constraints and bodies now rotate in their own local space in the physics asset editor When local coordinate system is applied #jira UE-50345 - rotating constraints or bodies in Phat with local axis Change 4051634 by Thomas.Sarkanen Automatic rules for state transitions are now shown in tooltips #jira UE-57689 - Animation State Machine Transitions that use bAutomaticRuleBasedOnSequencePlayerInState, should indicate that in the transition Change 4051636 by Thomas.Sarkanen NotifyTriggerChance is now hidden for nodify states as it has no effect #jira UE-55351 - NotifyTriggerChance should be grayed out for UAnimNotifyState Change 4051669 by Thomas.Sarkanen Fixed accidental operation of pinned commands when closing them #jira UE-54051 - Unpinning settings will toggle the next setting Change 4051671 by Thomas.Sarkanen Fix crash importing skeletal mesh with no vertices Not a fix for the jira, but found while investigating #jira UE-56330 - FBX Files Do Not Import After Using the Facial Anim Importer Unless Project is Reopened Change 4051684 by James.Golding Fix high precision tangents when CPU skinning and mesh merging Remember bExistingUseHighPrecisionTangentBasis when re-importing SkelMesh #jira UE-58525 Change 4051686 by James.Golding PR #4297: Output animation name with ensure() - useful when debugging (Contributed by DSDambuster) #jira UE-53259 Change 4051801 by Jurre.deBaare A BlendSpace that puts the same asset on samples can stop its own animation on Switch #fix Ensure that we don't cause divide-by-zero situations when sampling blendspace data #jira UE-54030 Change 4051806 by Jurre.deBaare Fix geometry cache reimport + serialization issues Change 4051807 by Jurre.deBaare Currently, it's not possible to assigned a material to a Geometry Cache .uasset #fix EditAnywhere rather than VisibleAnywhere #jira UE-58212 Change 4051809 by Jurre.deBaare GeomCache: Crash/Bug: When importing file #fix Ensure that we have a valid first frame when trying to import a sequence, if not error-out #jira UE-58285 Change 4051813 by Jurre.deBaare GeomCache: Bug: Normals Broken #jira UE-58287 GeomCache - Normals are Bad on Import #jira UE-58283 #fix ensure that we triangulate mesh attributes when necessary #misc per-attribute indices check Change 4051816 by Jurre.deBaare Alembic QOL - Fix issue with reimport object flags not being applied - Now also store sampling data as part of Alembic asset import data Change 4051817 by Jurre.deBaare PR #4550: Fixes bug where "Merge Actors" or HLOD proxies result in too many mesh sections (Contributed by trond) #fix Integrated pull-request in different form #jira UE-55976 Change 4051818 by Jurre.deBaare Emissive isn't baked correctly in TM-MeshbakeMap #fix ensure that we OR and Max the material flags and emissive scale #jira UE-54889 Change 4051819 by Jurre.deBaare Crash on project load when GeometryCache plugin is disabled #fix No longer force-load the geometry cache module as it was moved to be a plugin #jira UE-57875 Change 4051820 by Jurre.deBaare CLONE - Editor crash when Propagating Vertex Colors to Asset's source mesh #fix IsValidIndex check #jira UE-57127 Vertex painting Change 4051828 by Jurre.deBaare Merging negative-scaled actors breaks materials #fix Make sure we also reverse the section indices when a static mesh has a mirrored transform #jira UE-56953 Change 4051834 by Jurre.deBaare Unclear warnings when generating clusters in persistent level when sublevels have HLOD disabled #fix improved warning text + added uobject link to level in content browser #jira UE-55734 Change 4051993 by Jurre.deBaare Update Alembic automated test ground truth #jira none Change 4052937 by James.Golding Remove now-unused version (merged change to skel source data from Main instead) Change 4053291 by Aaron.McLeran Fix for CIS #jira none Change 4053375 by Aaron.McLeran #jira UE-58716 Allow ability to bypass volume-weighting with using sound wave priority Change 4057170 by Thomas.Sarkanen Fix shadow variable warning #jira UE-58806 - Linux: Shadow Variable Warnings building Editor - PhysicsAssetEditorEditMode.cpp Change 4057653 by Lina.Halper Fix the issue with showing same item multiple times when opening control rig blueprint many times #jira: UE-58107 Change 4057701 by Jurre.deBaare //UE4/Dev-AnimPhys - Step 'Run Automated Tests' has completed with 13 Errors #fix reupdate alembic ground truths, little bit of a weird state #jira UE-58818 Change 4057710 by Ethan.Geller [Dev-AnimPhys] #jira UE-58004 Early exit if finish was called before StartSubmixRecording. #rb Aaron.McLeran Change 4059295 by Ethan.Geller #jira UE-58004 Reduce logs from fatal to error, fix serialize crash. #rb aaron.mcleran Change 4061061 by Aaron.McLeran Fixing animphys build from recent merge from main. #jira UE-58909 Change 4053154 by Aaron.McLeran #jira UE-58708 Fix to mic component to reduce clicks/pops on mic input. Fix was to simplify the way audio is copied from mic input. This change was used on the GDC demo floor for a number of features. [CL 4062611 by Aaron McLeran in Main branch]
2018-05-09 18:45:58 -04:00
// if you jump from front to end or end to front, your time jump is 0.f, so nothing moves
// to prevent that from happening, we set current accumulator to explicit time
if (TimeJump == 0.f)
{
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
InternalTimeAccumulator = CurrentExplicitTime;
}
DeltaTimeRecord.Delta = TimeJump;
Copying //UE4/Orion-Staging (Orion Main @ CL-2792706 to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2792706 on 2015/12/07 by Terence.Burns Rebuild lightmaps automation changes - Sync and Build binary files for execution - Much improved error handling - Email notification support added. #Note - This should massively simplify the batch script we use to rebuild lightmaps. #rb none #Tests Run the RebuildLightmaps commandlet many times to ensure it runs and errors correctly. Change 2791950 on 2015/12/05 by Matt.Kuhlenschmidt Added settings to toggle on and off display of Ping and FPS values. Server FPS will be disabled before ship #rb none #test pc/ps4 golden path, pie Change 2791827 on 2015/12/05 by Marcus.Wassmer Fix texture memory leak. Fixes automation using too much memory. #rb Brad.Angelcyk #codereview bob.ferreira #test automation runs, editor. Change 2791313 on 2015/12/04 by Martin.Mittring fixed PS4 compiling #rb:Michael.Noland #test:not Change 2791014 on 2015/12/04 by Martin.Mittring nicer cvar help for r.PS4ContinuousSubmits #rb:Olaf.Piesche #code_review:Marcus.Wassmer #test:PC Change 2791011 on 2015/12/04 by Martin.Mittring fixed compile error when disabling ENABLE_TEXTURE_TRACKING #rb:Olaf.Piesche #test:run Paragon on PC Change 2790848 on 2015/12/04 by Martin.Mittring missing changes nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2790840 on 2015/12/04 by Martin.Mittring nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2791585 on 2015/12/04 by Michael.Noland Rendering: Added a more actionable error message to a check() failure for a FStaticLightingMesh that has already been processed when building lighting in a map that contains HLOD #rb None #tests Built lighting in a map that was crashing at this check() and verified that the message indicated the problematic mesh Change 2791244 on 2015/12/04 by Ryan.Brucks Submitting all my Paragon Content before the new Agora Branch. Change 2791240 on 2015/12/04 by Marcus.Wassmer Bump to .061 patch and new pub tools to pass cert #rb non #test compile ps4 Change 2791132 on 2015/12/04 by ryan.brucks RenderToTextureMacros: fixed issue with polygon index being +1 on accident Change 2790747 on 2015/12/04 by Terence.Burns Rebuild Lightmaps Automation Script - Adding the -unattended switch for build machines. #rb None #tests Run through the Rebuild Lightmaps UAT script process. Change 2790589 on 2015/12/04 by Bart.Bressler - Invite PS4 friend option for add party member button now works properly, also fixes crash. Fixes OR-10359. #rb sam.zamani #tests invited ps4 player using Invite PS4 Friend option, confirmed that player joined mcp party and ps4 session Change 2790418 on 2015/12/04 by James.Golding Roll back HLOD lightmap UV change, Oz reporting issues when building lighting, need more investigation #rb none #tests none Change 2790333 on 2015/12/04 by James.Golding Add fallback to FMeshUtilities::PropagatePaintedColorsToRawMesh when mesh has been reduced in engine and WedgeMap is missing #rb martin.wilson #codereview jurre.debaare #tests Built HLOD meshes in the editor Change 2790292 on 2015/12/04 by Olaf.Piesche Free the new particle array at the beginning of the tick for each instance; that way, even if we're not rendering the array will be cleared and we don't keep injecting new particles that never get killed until rendering resumes #rb marcus.wassmer #tests Editor, PIE Change 2790003 on 2015/12/04 by James.Golding Fix possible crash in ALODActor::RemoveSubActor #rb keith.judge #codereview jurre.debaare #tests Generated HLOD proxy in editor Change 2789998 on 2015/12/04 by James.Golding
2015-12-08 09:25:02 -05:00
const float DeltaTime = Context.GetDeltaTime();
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
const float RateScale = CurrentSequence->RateScale;
const float PlayRate = FMath::IsNearlyZero(DeltaTime) || FMath::IsNearlyZero(RateScale) ? 0.f : (TimeJump / (DeltaTime * RateScale));
CreateTickRecordForNode(Context, CurrentSequence, GetShouldLoop(), PlayRate);
Copying //UE4/Orion-Staging (Orion Main @ CL-2792706 to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2792706 on 2015/12/07 by Terence.Burns Rebuild lightmaps automation changes - Sync and Build binary files for execution - Much improved error handling - Email notification support added. #Note - This should massively simplify the batch script we use to rebuild lightmaps. #rb none #Tests Run the RebuildLightmaps commandlet many times to ensure it runs and errors correctly. Change 2791950 on 2015/12/05 by Matt.Kuhlenschmidt Added settings to toggle on and off display of Ping and FPS values. Server FPS will be disabled before ship #rb none #test pc/ps4 golden path, pie Change 2791827 on 2015/12/05 by Marcus.Wassmer Fix texture memory leak. Fixes automation using too much memory. #rb Brad.Angelcyk #codereview bob.ferreira #test automation runs, editor. Change 2791313 on 2015/12/04 by Martin.Mittring fixed PS4 compiling #rb:Michael.Noland #test:not Change 2791014 on 2015/12/04 by Martin.Mittring nicer cvar help for r.PS4ContinuousSubmits #rb:Olaf.Piesche #code_review:Marcus.Wassmer #test:PC Change 2791011 on 2015/12/04 by Martin.Mittring fixed compile error when disabling ENABLE_TEXTURE_TRACKING #rb:Olaf.Piesche #test:run Paragon on PC Change 2790848 on 2015/12/04 by Martin.Mittring missing changes nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2790840 on 2015/12/04 by Martin.Mittring nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2791585 on 2015/12/04 by Michael.Noland Rendering: Added a more actionable error message to a check() failure for a FStaticLightingMesh that has already been processed when building lighting in a map that contains HLOD #rb None #tests Built lighting in a map that was crashing at this check() and verified that the message indicated the problematic mesh Change 2791244 on 2015/12/04 by Ryan.Brucks Submitting all my Paragon Content before the new Agora Branch. Change 2791240 on 2015/12/04 by Marcus.Wassmer Bump to .061 patch and new pub tools to pass cert #rb non #test compile ps4 Change 2791132 on 2015/12/04 by ryan.brucks RenderToTextureMacros: fixed issue with polygon index being +1 on accident Change 2790747 on 2015/12/04 by Terence.Burns Rebuild Lightmaps Automation Script - Adding the -unattended switch for build machines. #rb None #tests Run through the Rebuild Lightmaps UAT script process. Change 2790589 on 2015/12/04 by Bart.Bressler - Invite PS4 friend option for add party member button now works properly, also fixes crash. Fixes OR-10359. #rb sam.zamani #tests invited ps4 player using Invite PS4 Friend option, confirmed that player joined mcp party and ps4 session Change 2790418 on 2015/12/04 by James.Golding Roll back HLOD lightmap UV change, Oz reporting issues when building lighting, need more investigation #rb none #tests none Change 2790333 on 2015/12/04 by James.Golding Add fallback to FMeshUtilities::PropagatePaintedColorsToRawMesh when mesh has been reduced in engine and WedgeMap is missing #rb martin.wilson #codereview jurre.debaare #tests Built HLOD meshes in the editor Change 2790292 on 2015/12/04 by Olaf.Piesche Free the new particle array at the beginning of the tick for each instance; that way, even if we're not rendering the array will be cleared and we don't keep injecting new particles that never get killed until rendering resumes #rb marcus.wassmer #tests Editor, PIE Change 2790003 on 2015/12/04 by James.Golding Fix possible crash in ALODActor::RemoveSubActor #rb keith.judge #codereview jurre.debaare #tests Generated HLOD proxy in editor Change 2789998 on 2015/12/04 by James.Golding
2015-12-08 09:25:02 -05:00
}
else
{
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
InternalTimeAccumulator = CurrentExplicitTime;
Copying //UE4/Orion-Staging (Orion Main @ CL-2792706 to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2792706 on 2015/12/07 by Terence.Burns Rebuild lightmaps automation changes - Sync and Build binary files for execution - Much improved error handling - Email notification support added. #Note - This should massively simplify the batch script we use to rebuild lightmaps. #rb none #Tests Run the RebuildLightmaps commandlet many times to ensure it runs and errors correctly. Change 2791950 on 2015/12/05 by Matt.Kuhlenschmidt Added settings to toggle on and off display of Ping and FPS values. Server FPS will be disabled before ship #rb none #test pc/ps4 golden path, pie Change 2791827 on 2015/12/05 by Marcus.Wassmer Fix texture memory leak. Fixes automation using too much memory. #rb Brad.Angelcyk #codereview bob.ferreira #test automation runs, editor. Change 2791313 on 2015/12/04 by Martin.Mittring fixed PS4 compiling #rb:Michael.Noland #test:not Change 2791014 on 2015/12/04 by Martin.Mittring nicer cvar help for r.PS4ContinuousSubmits #rb:Olaf.Piesche #code_review:Marcus.Wassmer #test:PC Change 2791011 on 2015/12/04 by Martin.Mittring fixed compile error when disabling ENABLE_TEXTURE_TRACKING #rb:Olaf.Piesche #test:run Paragon on PC Change 2790848 on 2015/12/04 by Martin.Mittring missing changes nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2790840 on 2015/12/04 by Martin.Mittring nicer cvar help, optimized unneccessary referencecounting, removed redundant code #rb:Olaf.Piesche #test:PC Paragon Change 2791585 on 2015/12/04 by Michael.Noland Rendering: Added a more actionable error message to a check() failure for a FStaticLightingMesh that has already been processed when building lighting in a map that contains HLOD #rb None #tests Built lighting in a map that was crashing at this check() and verified that the message indicated the problematic mesh Change 2791244 on 2015/12/04 by Ryan.Brucks Submitting all my Paragon Content before the new Agora Branch. Change 2791240 on 2015/12/04 by Marcus.Wassmer Bump to .061 patch and new pub tools to pass cert #rb non #test compile ps4 Change 2791132 on 2015/12/04 by ryan.brucks RenderToTextureMacros: fixed issue with polygon index being +1 on accident Change 2790747 on 2015/12/04 by Terence.Burns Rebuild Lightmaps Automation Script - Adding the -unattended switch for build machines. #rb None #tests Run through the Rebuild Lightmaps UAT script process. Change 2790589 on 2015/12/04 by Bart.Bressler - Invite PS4 friend option for add party member button now works properly, also fixes crash. Fixes OR-10359. #rb sam.zamani #tests invited ps4 player using Invite PS4 Friend option, confirmed that player joined mcp party and ps4 session Change 2790418 on 2015/12/04 by James.Golding Roll back HLOD lightmap UV change, Oz reporting issues when building lighting, need more investigation #rb none #tests none Change 2790333 on 2015/12/04 by James.Golding Add fallback to FMeshUtilities::PropagatePaintedColorsToRawMesh when mesh has been reduced in engine and WedgeMap is missing #rb martin.wilson #codereview jurre.debaare #tests Built HLOD meshes in the editor Change 2790292 on 2015/12/04 by Olaf.Piesche Free the new particle array at the beginning of the tick for each instance; that way, even if we're not rendering the array will be cleared and we don't keep injecting new particles that never get killed until rendering resumes #rb marcus.wassmer #tests Editor, PIE Change 2790003 on 2015/12/04 by James.Golding Fix possible crash in ALODActor::RemoveSubActor #rb keith.judge #codereview jurre.debaare #tests Generated HLOD proxy in editor Change 2789998 on 2015/12/04 by James.Golding
2015-12-08 09:25:02 -05:00
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
bReinitialized = false;
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
TRACE_ANIM_NODE_VALUE(Context, TEXT("Name"), CurrentSequence != nullptr ? CurrentSequence->GetFName() : NAME_None);
TRACE_ANIM_NODE_VALUE(Context, TEXT("Sequence"), CurrentSequence);
TRACE_ANIM_NODE_VALUE(Context, TEXT("InputTime"), CurrentExplicitTime);
TRACE_ANIM_NODE_VALUE(Context, TEXT("Time"), InternalTimeAccumulator);
}
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
void FAnimNode_SequenceEvaluatorBase::Evaluate_AnyThread(FPoseContext& Output)
{
DECLARE_SCOPE_HIERARCHICAL_COUNTER_ANIMNODE(Evaluate_AnyThread)
check(Output.AnimInstanceProxy != nullptr);
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
UAnimSequenceBase* CurrentSequence = GetSequence();
if ((CurrentSequence != nullptr) && (Output.AnimInstanceProxy->IsSkeletonCompatible(CurrentSequence->GetSkeleton())))
{
FAnimationPoseData AnimationPoseData(Output);
CurrentSequence->GetAnimationPose(AnimationPoseData, FAnimExtractContext(InternalTimeAccumulator, Output.AnimInstanceProxy->ShouldExtractRootMotion(), DeltaTimeRecord, GetShouldLoop()));
}
else
{
Output.ResetToRefPose();
}
}
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
void FAnimNode_SequenceEvaluatorBase::GatherDebugData(FNodeDebugData& DebugData)
{
DECLARE_SCOPE_HIERARCHICAL_COUNTER_ANIMNODE(GatherDebugData)
FString DebugLine = DebugData.GetNodeName(this);
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
DebugLine += FString::Printf(TEXT("('%s' InputTime: %.3f, Time: %.3f)"), *GetNameSafe(GetSequence()), GetExplicitTime(), InternalTimeAccumulator);
DebugData.AddDebugItem(DebugLine, true);
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
}
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
float FAnimNode_SequenceEvaluatorBase::GetEffectiveDeltaTime(float ExplicitTime, float PrevExplicitTime) const
{
float DeltaTime = ExplicitTime - PrevExplicitTime;
if (GetShouldLoop())
{
if (FMath::Abs(DeltaTime) > (GetSequence()->GetPlayLength() * 0.5f))
{
if (DeltaTime > 0.f)
{
DeltaTime -= GetSequence()->GetPlayLength();
}
else
{
DeltaTime += GetSequence()->GetPlayLength();
}
}
}
return DeltaTime;
}
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
bool FAnimNode_SequenceEvaluator::SetSequence(UAnimSequenceBase* InSequence)
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
{
#if WITH_EDITORONLY_DATA
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
Sequence = InSequence;
GET_MUTABLE_ANIM_NODE_DATA(TObjectPtr<UAnimSequenceBase>, Sequence) = InSequence;
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
#endif
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
if(TObjectPtr<UAnimSequenceBase>* SequencePtr = GET_INSTANCE_ANIM_NODE_DATA_PTR(TObjectPtr<UAnimSequenceBase>, Sequence))
{
*SequencePtr = InSequence;
return true;
}
return false;
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
}
UAnimSequenceBase* FAnimNode_SequenceEvaluator::GetSequence() const
{
return GET_ANIM_NODE_DATA(TObjectPtr<UAnimSequenceBase>, Sequence);
}
float FAnimNode_SequenceEvaluator::GetExplicitTime() const
{
return GET_ANIM_NODE_DATA(float, ExplicitTime);
}
bool FAnimNode_SequenceEvaluator::SetExplicitTime(float InTime)
{
#if WITH_EDITORONLY_DATA
ExplicitTime = InTime;
#endif
if (float* ExplicitTimePtr = GET_INSTANCE_ANIM_NODE_DATA_PTR(float, ExplicitTime))
{
*ExplicitTimePtr = InTime;
return true;
}
return false;
}
Anim node data/compiler refactor Per-node constant data is now held on a generated struct as part of sparse class data. Per-node mutable data (i.e. pin links/property access mappings) is now held on a generated 'mutable data' struct that is compiled as part of the generated class. The anim BP compiler is now extended more conventionally using UAnimBlueprintExtension, derived from UBlueprintExtension. This directly replaces the older 'compiler handler' pattern that was added in an emergency fashion for 4.26. Anim graph nodes now request their required extensions and these are held on the UAnimBlueprint in the UBlueprint::Extensions array. The Extensions array is potentially refreshed with any node addition or removal. The Extensions array is force-refreshed each time an anim BP is compiled for the first time to deal with newly added or removed requirements. Const-corrected a bunch of UAnimInstance/FAnimInstanceProxy APIs that rely on (now truly) const data. Added a split state/constant version of FInputScaleBiasClamp to allow some of its data to be split into constants. Tweaked alignment/ordering of FPoseLinkBase to save a few bytes per pose link. Deprecated FAnimNode_Base::OverrideAsset in favor of a more UAnimGraphNode_Base-based approach. Individual nodes can still have runtime overrides via specific accessors. The new approach will also give us the oppurtunity to override multiple assets per node if required in the future. Moved property access into Engine module & removed event support from it - this was never used. Reworked property access compilation API a little - construction/lifetime was a bit confusing previously. Optimized path used to create UK2Node_StructMemberSet nodes in per-node custom events. When using mutable data, the structure used is large and very sparsely connected (i.e. only a few properties are written) so we only create pins that are actually going to be used, rather than creating all of them and conly connecting a few. Patched the following nodes to use the new data approach: - Asset players (sequences, blendspaces, aim offsets) - Blend lists - Ref poses - Roots #rb Jurre.deBaare, Martin.Wilson, Keith.Yerex [CL 16090510 by Thomas Sarkanen in ue5-main branch]
2021-04-22 04:57:09 -04:00
bool FAnimNode_SequenceEvaluator::GetShouldLoop() const
{
return GET_ANIM_NODE_DATA(bool, bShouldLoop);
}
bool FAnimNode_SequenceEvaluator::GetTeleportToExplicitTime() const
{
return GET_ANIM_NODE_DATA(bool, bTeleportToExplicitTime);
}
TEnumAsByte<ESequenceEvalReinit::Type> FAnimNode_SequenceEvaluator::GetReinitializationBehavior() const
{
return GET_ANIM_NODE_DATA(TEnumAsByte<ESequenceEvalReinit::Type>, ReinitializationBehavior);
}
float FAnimNode_SequenceEvaluator::GetStartPosition() const
{
return GET_ANIM_NODE_DATA(float, StartPosition);
}
FName FAnimNode_SequenceEvaluator::GetGroupName() const
{
return GET_ANIM_NODE_DATA(FName, GroupName);
}
EAnimGroupRole::Type FAnimNode_SequenceEvaluator::GetGroupRole() const
{
return GET_ANIM_NODE_DATA(TEnumAsByte<EAnimGroupRole::Type>, GroupRole);
}
EAnimSyncMethod FAnimNode_SequenceEvaluator::GetGroupMethod() const
{
return GET_ANIM_NODE_DATA(EAnimSyncMethod, Method);
}
bool FAnimNode_SequenceEvaluator::GetIgnoreForRelevancyTest() const
{
return GET_ANIM_NODE_DATA(bool, bIgnoreForRelevancyTest);
}
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
bool FAnimNode_SequenceEvaluator::SetGroupName(FName InGroupName)
{
#if WITH_EDITORONLY_DATA
GroupName = InGroupName;
#endif
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
if(FName* GroupNamePtr = GET_INSTANCE_ANIM_NODE_DATA_PTR(FName, GroupName))
{
*GroupNamePtr = InGroupName;
return true;
}
return false;
}
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
bool FAnimNode_SequenceEvaluator::SetGroupRole(EAnimGroupRole::Type InRole)
{
#if WITH_EDITORONLY_DATA
GroupRole = InRole;
#endif
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
if(TEnumAsByte<EAnimGroupRole::Type>* GroupRolePtr = GET_INSTANCE_ANIM_NODE_DATA_PTR(TEnumAsByte<EAnimGroupRole::Type>, GroupRole))
{
*GroupRolePtr = InRole;
return true;
}
return false;
}
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
bool FAnimNode_SequenceEvaluator::SetGroupMethod(EAnimSyncMethod InMethod)
{
#if WITH_EDITORONLY_DATA
Method = InMethod;
#endif
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
if(EAnimSyncMethod* MethodPtr = GET_INSTANCE_ANIM_NODE_DATA_PTR(EAnimSyncMethod, Method))
{
*MethodPtr = InMethod;
return true;
}
return false;
}
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
bool FAnimNode_SequenceEvaluator::SetIgnoreForRelevancyTest(bool bInIgnoreForRelevancyTest)
{
#if WITH_EDITORONLY_DATA
bIgnoreForRelevancyTest = bInIgnoreForRelevancyTest;
#endif
Anim blueprint encapsulation improvements Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant. Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it. Functions are displayed on the node if bound, and in the details panel. Added a new override point to FAnimSubsystemInstance to allow for WT init. Moved FMemberReference customization into a public header so it can be used on anim node functions. Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them. Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly). Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code. A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation). Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied #rb Jurre.deBaare,Aaron.Cox [CL 16703644 by Thomas Sarkanen in ue5-main branch]
2021-06-17 08:58:34 -04:00
if(bool* bIgnoreForRelevancyTestPtr = GET_INSTANCE_ANIM_NODE_DATA_PTR(bool, bIgnoreForRelevancyTest))
{
*bIgnoreForRelevancyTestPtr = bInIgnoreForRelevancyTest;
return true;
}
return false;
}