2016-12-08 08:52:44 -05:00
|
|
|
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
2015-10-06 16:47:09 -04:00
|
|
|
|
|
|
|
|
#include "AnimGraphNode_AnimDynamics.h"
|
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
|
|
|
#include "EngineGlobals.h"
|
|
|
|
|
#include "SceneManagement.h"
|
|
|
|
|
#include "Materials/MaterialInstanceDynamic.h"
|
|
|
|
|
#include "Widgets/Input/SButton.h"
|
2015-10-06 16:47:09 -04:00
|
|
|
|
|
|
|
|
// Details includes
|
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
|
|
|
#include "PropertyHandle.h"
|
2015-10-06 16:47:09 -04:00
|
|
|
#include "DetailLayoutBuilder.h"
|
|
|
|
|
#include "DetailWidgetRow.h"
|
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
|
|
|
#include "DetailCategoryBuilder.h"
|
2015-10-06 16:47:09 -04:00
|
|
|
#include "AnimationCustomVersion.h"
|
2016-06-16 11:54:44 -04:00
|
|
|
#include "Animation/AnimInstance.h"
|
2015-10-06 16:47:09 -04:00
|
|
|
|
|
|
|
|
#define LOCTEXT_NAMESPACE "AnimDynamicsNode"
|
|
|
|
|
|
|
|
|
|
FText UAnimGraphNode_AnimDynamics::GetTooltipText() const
|
|
|
|
|
{
|
|
|
|
|
return LOCTEXT("NodeTooltip", "Anim Dynamics");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UAnimGraphNode_AnimDynamics::Draw(FPrimitiveDrawInterface* PDI, USkeletalMeshComponent * PreviewSkelMeshComp) const
|
|
|
|
|
{
|
|
|
|
|
if(LastPreviewComponent != PreviewSkelMeshComp)
|
|
|
|
|
{
|
|
|
|
|
LastPreviewComponent = PreviewSkelMeshComp;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// If we want to preview the live node, process it here
|
|
|
|
|
if(bPreviewLive)
|
|
|
|
|
{
|
|
|
|
|
FAnimNode_AnimDynamics* ActivePreviewNode = GetPreviewDynamicsNode();
|
|
|
|
|
|
|
|
|
|
if(ActivePreviewNode)
|
|
|
|
|
{
|
|
|
|
|
for(int32 BodyIndex = 0 ; BodyIndex < ActivePreviewNode->GetNumBodies() ; ++BodyIndex)
|
|
|
|
|
{
|
|
|
|
|
const FAnimPhysRigidBody& Body = ActivePreviewNode->GetPhysBody(BodyIndex);
|
|
|
|
|
FTransform BodyTransform(Body.Pose.Orientation, Body.Pose.Position);
|
|
|
|
|
|
|
|
|
|
for(const FAnimPhysShape& Shape : Body.Shapes)
|
|
|
|
|
{
|
|
|
|
|
for(const FIntVector& Triangle : Shape.Triangles)
|
|
|
|
|
{
|
|
|
|
|
for(int32 Idx = 0 ; Idx < 3 ; ++Idx)
|
|
|
|
|
{
|
|
|
|
|
int32 Next = (Idx + 1) % 3;
|
|
|
|
|
|
|
|
|
|
FVector FirstVertPosition = BodyTransform.TransformPosition(Shape.Vertices[Triangle[Idx]]);
|
|
|
|
|
FVector SecondVertPosition = BodyTransform.TransformPosition(Shape.Vertices[Triangle[Next]]);
|
|
|
|
|
|
|
|
|
|
PDI->DrawLine(FirstVertPosition, SecondVertPosition, AnimDynamicsNodeConstants::ActiveBodyDrawColor, SDPG_Foreground, AnimDynamicsNodeConstants::ShapeLineWidth);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-01-07 11:21:22 -05:00
|
|
|
const int32 BoneIndex = PreviewSkelMeshComp->GetBoneIndex(ActivePreviewNode->BoundBone.BoneName);
|
|
|
|
|
if(BoneIndex != INDEX_NONE)
|
2015-10-06 16:47:09 -04:00
|
|
|
{
|
2016-01-07 11:21:22 -05:00
|
|
|
FTransform BodyJointTransform = PreviewSkelMeshComp->GetBoneTransform(BoneIndex);
|
|
|
|
|
FTransform ShapeOriginalTransform = BodyJointTransform;
|
2015-10-06 16:47:09 -04:00
|
|
|
|
2016-01-07 11:21:22 -05:00
|
|
|
// Draw pin location
|
|
|
|
|
FVector LocalPinOffset = BodyTransform.Rotator().RotateVector(Node.GetBodyLocalJointOffset(BodyIndex));
|
|
|
|
|
PDI->DrawLine(Body.Pose.Position, Body.Pose.Position + LocalPinOffset, FLinearColor::Green, SDPG_Foreground, AnimDynamicsNodeConstants::ShapeLineWidth);
|
2015-10-28 08:58:16 -04:00
|
|
|
|
2016-01-07 11:21:22 -05:00
|
|
|
// Draw basis at body location
|
|
|
|
|
FVector Origin = BodyTransform.GetTranslation();
|
|
|
|
|
FVector XAxis(1.0f, 0.0f, 0.0f);
|
|
|
|
|
FVector YAxis(0.0f, 1.0f, 0.0f);
|
|
|
|
|
FVector ZAxis(0.0f, 0.0f, 1.0f);
|
|
|
|
|
|
|
|
|
|
XAxis = BodyTransform.TransformVector(XAxis);
|
|
|
|
|
YAxis = BodyTransform.TransformVector(YAxis);
|
|
|
|
|
ZAxis = BodyTransform.TransformVector(ZAxis);
|
|
|
|
|
|
|
|
|
|
PDI->DrawLine(Origin, Origin + XAxis * AnimDynamicsNodeConstants::TransformBasisScale, FLinearColor::Red, SDPG_Foreground, AnimDynamicsNodeConstants::TransformLineWidth);
|
|
|
|
|
PDI->DrawLine(Origin, Origin + YAxis * AnimDynamicsNodeConstants::TransformBasisScale, FLinearColor::Green, SDPG_Foreground, AnimDynamicsNodeConstants::TransformLineWidth);
|
|
|
|
|
PDI->DrawLine(Origin, Origin + ZAxis * AnimDynamicsNodeConstants::TransformBasisScale, FLinearColor::Blue, SDPG_Foreground, AnimDynamicsNodeConstants::TransformLineWidth);
|
|
|
|
|
|
|
|
|
|
if(bShowLinearLimits)
|
|
|
|
|
{
|
|
|
|
|
DrawLinearLimits(PDI, BodyJointTransform, *ActivePreviewNode);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(bShowAngularLimits)
|
|
|
|
|
{
|
|
|
|
|
FTransform AngularLimitsTM(BodyJointTransform.GetRotation(), BodyTransform.GetTranslation() + LocalPinOffset);
|
|
|
|
|
DrawAngularLimits(PDI, AngularLimitsTM, *ActivePreviewNode);
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
|
|
|
if(bShowCollisionSpheres && Body.CollisionType != AnimPhysCollisionType::CoM)
|
2016-01-07 11:21:22 -05:00
|
|
|
{
|
|
|
|
|
// Draw collision sphere
|
|
|
|
|
DrawWireSphere(PDI, BodyTransform, FLinearColor(FColor::Cyan), Body.SphereCollisionRadius, 24, SDPG_Foreground, 0.2f);
|
|
|
|
|
}
|
2015-10-28 08:58:16 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Only draw the planar limit once
|
|
|
|
|
if(bShowPlanarLimit && ActivePreviewNode->PlanarLimits.Num() > 0)
|
|
|
|
|
{
|
|
|
|
|
for(FAnimPhysPlanarLimit& PlanarLimit : ActivePreviewNode->PlanarLimits)
|
|
|
|
|
{
|
|
|
|
|
FTransform LimitPlaneTransform = PlanarLimit.PlaneTransform;
|
|
|
|
|
const int32 LimitDrivingBoneIdx = PreviewSkelMeshComp->GetBoneIndex(PlanarLimit.DrivingBone.BoneName);
|
|
|
|
|
|
|
|
|
|
if(LimitDrivingBoneIdx != INDEX_NONE)
|
|
|
|
|
{
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3058661)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3038116 on 2016/07/05 by James.Golding
Resave QA-Promotion with new heightfield GUID to fix crash on load (broken DDC in Guildford)
Change 3038271 on 2016/07/05 by Lukasz.Furman
fixed bug with instanced behavior tree nodes writing over memory of other nodes
#jira UE-32789
Change 3038295 on 2016/07/05 by Lukasz.Furman
changed behavior tree node injection to modify shared template instead of switching nodes to instanced
fixes GC reference chain between AI using the same behavior tree
Change 3038504 on 2016/07/05 by Zak.Middleton
#ue4 - Fix typo in comment (debugging arrow).
github #2352
#jira 30255
Change 3039151 on 2016/07/06 by James.Golding
UE-30046 Add bAllowCPUAccess flag to UStaticMesh
Change 3039281 on 2016/07/06 by Ori.Cohen
Fix attached partially simulating ragdolls not moving with actor.
#JIRA UE-32830
Change 3039286 on 2016/07/06 by Benn.Gallagher
Fixed crash with large clothing simulation meshes. Extended max verts from ~16k to ~65k and made it so you can no longer force import clothing above the maximum threshold that the vertex buffer is allowed to hold.
Change 3039313 on 2016/07/06 by Benn.Gallagher
Enabled override of angular joint bias on AnimDynamics
Change 3039335 on 2016/07/06 by Ori.Cohen
Fixed skeletal mesh components with non simulated root bodies incorrectly detaching from component hierarchy.
#JIRA UE-32833
Change 3039412 on 2016/07/06 by Ori.Cohen
PR #2382: Bug when setting constraint orientation using axes parameters (Contributed by DaveC79)
#JIRA UE-30725
Change 3039799 on 2016/07/06 by Tom.Looman
- Renamed SuggestProjectileVelocity_MediumArc to _CustomArc and added support for high/low arcs using float param. (Migrated from Odin)
- Fixed bug in override gravity for the suggest projectile velocity functions.
Change 3039903 on 2016/07/06 by Ori.Cohen
Ensure that skeletal mesh components do NOT teleport unless explicitly asked to.
Change 3039932 on 2016/07/06 by Lina.Halper
Merging using //Orion/Dev-General_to_//UE4/Dev-Framework
serialize crash is always bad, so dupe checkin.
Change 3040059 on 2016/07/06 by Ori.Cohen
Fix bug where FixedFramerate was only clamping delta times that were above (very slow delta time was not getting changed to the fixed framerate)
#JIRA UE-32730
Change 3040203 on 2016/07/06 by Jon.Nabozny
Fix scaling multiple selected Actors by changing scale-base translation calculations to local space.
#jira UE-32357
Change 3040211 on 2016/07/06 by Ori.Cohen
Fix constraints being unselectable in phat when a render mesh is on top
#JIRA UE-32479
Change 3040273 on 2016/07/06 by Ori.Cohen
Fix vehicle drag adding instead of removing energy when in reverse.
#JIRA UE-28957
Change 3040293 on 2016/07/06 by Zak.Middleton
#ue4 - Add FMath::ClosestPointOnInfiniteLine() to distinguish it from the (poorly named) ClosestPointOnLine() that actually works on segments.
Change 3040325 on 2016/07/06 by Zak.Middleton
#ue4 - Avoid checking for "client only" builds when recording demos. It could be a demo recording in standalone. Minor impact to previous optimization.
#udn https://udn.unrealengine.com/questions/301595/412-413-regression-in-actorgetnetmode.html
Change 3040950 on 2016/07/07 by Thomas.Sarkanen
Removed GWorld from FTimerManager
Switched LastAssignedHandle to a static member.
#jira UE-31485 - Remove GWorld from FTimerManager
Change 3041054 on 2016/07/07 by Jon.Nabozny
Fix warning about negation operator on FRotator introduced in CL 3040203.
Change 3041214 on 2016/07/07 by Ori.Cohen
Fix hit events on skeletal mesh component not respecting the AND between skeletal mesh component and the ragdoll bodies
#JIRA UE-29538
Change 3041319 on 2016/07/07 by James.Golding
UE-29771
- Rename LocalAtoms to BoneSpaceTransforms
- Rename SpaceBases to ComponentSpaceTransforms
Change 3041432 on 2016/07/07 by James.Golding
UE-30937 Add FindCollisionUV util to GameplayStatics, but only works if you set new bSupportUVFromHitResults flag in PhysicsSettings, as we need to store UV info in the BodySetup. This is kept with the cooked mesh data in the DDC.
Also remove PhysicsSettings.h from PhysicalMaterial.h
Change 3041434 on 2016/07/07 by James.Golding
Improve comment on UStaticMesh::bAllowCPUAccess
Change 3041701 on 2016/07/07 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3041498
Change 3041760 on 2016/07/07 by Ori.Cohen
Fix bug where turning collision off and on for a welded root body would not re-weld child bodies.
#JIRA UE-32438
Change 3041771 on 2016/07/07 by Marc.Audy
Add GetParentActor convience accessor
Change 3041798 on 2016/07/07 by Marc.Audy
Don't double call BeginPlay on ChildActors when loading sublevels (4.12)
#jira UE-32772
Change 3041857 on 2016/07/07 by Jon.Nabozny
Allow modifying and reading EnableGravity flags on individual bones within a SkeletalMeshComponent via BoneName.
#jira UE-32272
Change 3041914 on 2016/07/07 by Marc.Audy
Fix mismatch function prototype
Change 3042041 on 2016/07/07 by Jon.Nabozny
Fix CIS issue introduced by CL 3041857
Change 3042402 on 2016/07/08 by James.Golding
Fix CIS after no longer globally including PhysicsSettings.h
Change 3042517 on 2016/07/08 by Martin.Wilson
Fix root motion when actor and component transforms do not match
#jira UE-32944
Change 3043021 on 2016/07/08 by mason.seay
Assets for testing poses
Change 3043246 on 2016/07/08 by Marc.Audy
Eliminate USoundWave::CompressionName
Add USoundWave::HasCompressedFormat
#jira UE-32546
Change 3044376 on 2016/07/11 by James.Golding
- UE-32907 : Change UStaticMesh::GetPhysicsTriMeshData to only return required verts (ie will not return verts of sections with collision disabled)
- Add UVInfo mem usage to UBodySetup::GetResourceSize
- Remove BodySetup.h from EnginePrivate.h
- Remove outdated comment in PhysUtils.cpp
Change 3044464 on 2016/07/11 by Ori.Cohen
Fix CIS
#JIRA UE-33005
Change 3044519 on 2016/07/11 by Ori.Cohen
PR #2379: Option to Generate Overlaps for Actor during Level Streaming (Contributed by error454)
#JIRA UE-30712
Change 3044774 on 2016/07/11 by Zak.Middleton
#ue4 - Fix typos in comments.
Change 3044854 on 2016/07/11 by Mieszko.Zielinski
Made AI sight's default trace channel configurable and set it to ECC_Visibility #UE4
#jira UE-32013
Change 3044855 on 2016/07/11 by Mieszko.Zielinski
Fixed BB key selectors not being resolved properly in BP implemented nodes #UE4
#jira UE-32458
Change 3044887 on 2016/07/11 by Zak.Middleton
#ue4 - Added new Blueprint library math/vector functions: FindClosestPointOnSegment, FindClosestPointOnLine, GetPointDistanceToSegment, GetPointDistanceToLine.
- Fixed comments on FindNearestPointsOnLineSegments.
- Fixed comments on FMath::PointDistToLine, and renamed "Line" parameter to "Direction".
Merge CL 3036162.
Change 3044910 on 2016/07/11 by Mieszko.Zielinski
Fixed AISense_Sight not reporting any hits on ECC_Visibility channel #UE4
Change 3045144 on 2016/07/11 by Lukasz.Furman
exposed pathfollowing's reach test modifier: goal radius as parameter of move request
Change 3045174 on 2016/07/11 by Marc.Audy
Remove incorrect SetMobility reference from comment
#jira UE-30492
Change 3045233 on 2016/07/11 by Marc.Audy
Correct function name in warning
Change 3045284 on 2016/07/11 by mason.seay
Test Assets for pose blending
Change 3045342 on 2016/07/11 by Michael.Noland
PR #2284: Added PAPER2D_API to FSpriteDrawCallRecord (Contributed by grisevg)
#jira UE-29522
Change 3045343 on 2016/07/11 by Michael.Noland
PR #2533: Fixed bug that caused the tabs in the Flipbook, Sprite, and CodeProject editors to show the editor name rather than the asset name (Contributed by DevVancouver)
#jira UE-32403
Change 3045344 on 2016/07/11 by Michael.Noland
Paper2D: Fixed BP-created tile map components being incapable of having collision generated for them (still requires calling SetLayerCollision with rebuild=true or RebuildCollision)
Paper2D: Exposed the ability to directly rebuild collision on a UPaperTileMap
#jira UE-31632
Change 3045382 on 2016/07/11 by Ori.Cohen
Expose mobility filtering query params. Allows users to filter out static mobility for example from scene queries.
#JIRA UE-29937
Change 3045529 on 2016/07/11 by Zak.Middleton
#ue4 - Improve comment about FFindFloorResult.bBlockingHit, explaining it is a valid blocking hit that was not in penetration. Other conditions can be determined from the HitResult itself.
Change 3045601 on 2016/07/11 by Michael.Noland
Paper2D: Expose UPaperTileMap and UPaperTileSet as BlueprintType
#jira UE-20962
Change 3046039 on 2016/07/12 by Jurre.deBaare
Instanced HLOD materials to reduce permutations + compilation time
Change 3046147 on 2016/07/12 by Ori.Cohen
PR #1615: Traceworldforposition should trace async scene too
#JIRA UE-21728
Change 3046180 on 2016/07/12 by Ori.Cohen
Introduce a shape complexity project setting
#JIRA UE-31159
Change 3046280 on 2016/07/12 by Ori.Cohen
Change physics blend weights to only affect rendering data. For effects that require updating physx we recommend using the new physical animation component.
#JIRA UE-31525, UE-19252
Change 3046282 on 2016/07/12 by Benn.Gallagher
Fix for crash or notify corruption when reverting the "Event" struct in montage notify editor.
- Made default slot 0, as a montage should always have at least one slot
- Made it impossible to revert the "Event" struct as it contains stuff that shouldn't be reverted. Can still revert its members though
#jira UE-32626
Change 3046284 on 2016/07/12 by Benn.Gallagher
Fix for crash or notify corruption when reverting the "Event" struct in montage notify editor.
- Made default slot 0, as a montage should always have at least one slot
- Made it impossible to revert the "Event" struct as it contains stuff that shouldn't be reverted. Can still revert its members though
(2nd CL, missed file)
#jira UE-32626
Change 3046416 on 2016/07/12 by Jon.Nabozny
PR #2512: Change InstancedStaticMesh allow transform update to teleport (Contributed by joelmcginnis)
#jira UE32123
Change 3046428 on 2016/07/12 by Michael.Noland
Paper2D: Fixed inconsistent lighting on lit grouped sprites (caused by bad normals on any grouped sprites that were rotated away from (0,0,0))
#jira UE-33055
Change 3046429 on 2016/07/12 by Michael.Noland
Paper2D: Fixed inconsistent lighting on lit tilemaps in standalone or cooked builds (caused by trying to use the canonical Paper2D tangent basis before it has been initialized)
#jira UE-25994
Change 3046475 on 2016/07/12 by Ori.Cohen
Added strength multiplyer for physical animation
#JIRA UE-33075
Change 3046518 on 2016/07/12 by Ori.Cohen
Make sure to refresh contact points when turning simulation on for bodies.
#JIRA UE-31286
Change 3046658 on 2016/07/12 by Ori.Cohen
Fix the case where setting body blend weight doesn't turn off blend override.
Change 3046720 on 2016/07/12 by Ori.Cohen
Added option to allow skeletal mesh simulation to NOT affect component transform.
#JIRA UE-33089
Change 3046908 on 2016/07/12 by Ori.Cohen
Fix welded body not properly unwelding when in a chain of welded bodies
#JIRA UE-32531
Change 3047015 on 2016/07/12 by Lukasz.Furman
fixed nested repath requests
Change 3047102 on 2016/07/12 by Ori.Cohen
Added physics component to content example
Change 3047848 on 2016/07/13 by Ori.Cohen
Expose transform update mode to phat
#JIRA UE-33227
Change 3047853 on 2016/07/13 by Ori.Cohen
Update physical animation level and content. Was missing some blueprints
Change 3047897 on 2016/07/13 by Ori.Cohen
PR #2066: PhysX: Remove copy-paste code from LoadPhysXModules (Contributed by bozaro)
#JIRA UE-27102
Change 3048026 on 2016/07/13 by Benn.Gallagher
Altered reference gathering for retargetting to consider nodes in the Ubergraph. This catches refrerences as variables in the event graph and default values on event graph pins.
#jira UE-23823
Change 3048592 on 2016/07/13 by Marc.Audy
Change check when physics state exists but not registered to ensure and add additional logging information.
#jira UE-32935
Change 3048790 on 2016/07/13 by Ori.Cohen
Fix CIS for shipping physx builds.
#JIRA UE-33246
Change 3048801 on 2016/07/13 by Ori.Cohen
Update RootBodyTransform when ref skeleton has offset
Change 3048891 on 2016/07/13 by Marc.Audy
Fix copy paste bug with AudioComponent::SetPitchMultiplier
Change 3049549 on 2016/07/14 by Thomas.Sarkanen
Prevented stale anim asset references from persisting in wired pins
Made sure to clear out the old asset in asset players when pins are made/destroyed. This requires a temporary string reference to the asset in UAnimGraphNode_AssetPlayerBase.
Fixed up anim getters to properly use pin-default assets (previously they used the internal asset ptr that was not guaranteed to be in sync). Also fixe dup error messaging to be a bit more helpful when editing transition rules.
Fixed up the various animation asset players to correctly display names when the asset is not set internally. Also correctly report compilation errors when pins are connected.
Moved FA3NodeOptionalPinManager to new file ane renamed to FAnimBlueprintNodeOptionalPinManager to avoid circular includes.
#jira UE-31015 - Asset Pins Keep Reference To Old 'Static' Asset
Change 3049576 on 2016/07/14 by Thomas.Sarkanen
Fix CIS linker errors
Change 3049611 on 2016/07/14 by Benn.Gallagher
Fixed "Isolate" checkbox in Persona mesh details not working on sections with clothing assigned (previously disabled drawing for all sections)
Fixed "Highlight" checkbox in Persona mesh details not working after Section/Chunk refactor
#jira UE-31016
#jira UE-33061
Change 3049663 on 2016/07/14 by Benn.Gallagher
CIS fix after Persona render fixes
Change 3049794 on 2016/07/14 by Marc.Audy
Some cleanup and ensuring ActiveSound adds references to all of its used assets
Change 3049823 on 2016/07/14 by Tom.Looman
Added Player Connect and Disconnect Multicast Events to GameMode
PR #2398: Player Connect and Disconnect Multicast Events (for Plugins) (Contributed by dreckard)
Change 3049896 on 2016/07/14 by Ori.Cohen
Fix cases where updating welded bodies is causing physx body to ignore the kinematic flag.
#JIRA UE-31660
Change 3049921 on 2016/07/14 by Benn.Gallagher
PR #2294: Reduce PhysX simulate() memory churn (Contributed by roberttroughton)
- Modifications: Per PxScene buffers, 16 byte alignment required for simulate call, skip clothing scenes (unused, we simulate per-actor)
#jira UE-29573
Change 3049929 on 2016/07/14 by Zak.Middleton
#ue4 - Make GetDefault<T>(UClass*) assert that the class is castable to T.
Change 3049956 on 2016/07/14 by Zak.Middleton
#ue4 - Back out changelist 3049929 until I fix CastChecked<> compile issue.
Change 3049992 on 2016/07/14 by Jon.Nabozny
Fix infite jumps when JumpMaxHoldTime is set. Also, allow multi-jumping out of the box.
#JIRA: UE-31601
Change 3050017 on 2016/07/14 by James.Golding
PR #2412: Make CalcSceneView and GetProjectionData in ULocalPlayer virtual (Contributed by yehaike)
Change 3050061 on 2016/07/14 by Zak.Middleton
#ue4 - Make GetDefault<T>(UClass*) assert that the class is castable to T.
Change 3050254 on 2016/07/14 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3049614
Change 3050416 on 2016/07/14 by mason.seay
Test map and asset for slicing proc meshes
Change 3050881 on 2016/07/14 by Zak.Middleton
#ue4 - Make FSavedMove_Character::CanCombineWith easier to debug. Consolidate duplicate code to one block.
github #2047
Change 3051401 on 2016/07/15 by Thomas.Sarkanen
Prevented animation from restarting each time a new section is selected/inspected in the montage editor
Preserved playback state when changing section.
Added SetWeight function to montage instance as when switching between sections the montage would blend from ref-pose while paused.
#jira UE-31014 - Moving Montage Event Unpauses Playback
#jira UE-25101 - Improve Montage Replay Usability issue
Change 3051717 on 2016/07/15 by Benn.Gallagher
Removed call to set sleepVelocityFrameDecayConstant on destructible shapes after advice from Nvidia and investigation by some licensees. Feature was used in the past to better settle piles but now PhysX can handle it fine and by setting it we were causing a hit in island generation.
#jira UE-18558
Change 3051729 on 2016/07/15 by Benn.Gallagher
Changed enum combo boxes so that they use rich tooltips instead of text tooltips.
- They look the same when there isn't a documentation entry for them (Just the enum name)
- Enum docs stored in /Shared/Enums/{EnumType} and the excerpt names are just the enum name
Change 3051825 on 2016/07/15 by Marc.Audy
Display HiddenInGame for SceneComponents except when part of flattened properties in an Actor such as StaticMeshActor
#jira UE-29435
Change 3051850 on 2016/07/15 by Marc.Audy
Reduce priority of audio thread
Add a frame sync to avoid audio thread drifiting behind
Change 3051920 on 2016/07/15 by Tom.Looman
Added ActorComponent Activate/Deactivate events
#JIRA UE-31077
Change 3051923 on 2016/07/15 by Tom.Looman
PR #2370: Exposing "OverrideWith" and "CopyProperties" in PlayerState to Blueprint Children (Contributed by eXifreXi)
Change 3052038 on 2016/07/15 by Martin.Wilson
Possible fix for fortnite crash + ensure incase the situation occurs again
#jira UE-33258
Change 3052042 on 2016/07/15 by Jurre.deBaare
Copying //Tasks/Framework/DEV-UEFW-21-AlembicImporter to Dev-Framework (//UE4/Dev-Framework)
Change 3052171 on 2016/07/15 by Ori.Cohen
Improve UI for constraint profiles. Polish UI for physical animation profile.
#JIRA UEFW-101, UE-33290
Change 3052243 on 2016/07/15 by Martin.Wilson
Pose watching: Ability to draw bones of pose at any point in the anim graph.
#jira UE-12181 (originally Epic Friday project)
Change 3053202 on 2016/07/18 by Thomas.Sarkanen
FAnimInstanceProxy::EvaulateAnimation is now split into two for easier extensibility
#jira UE-30107 - Split out part of FAnimInstanceProxy::EvaulateAnimation to allow users to use node evaluate without code duplication
Change 3053203 on 2016/07/18 by Thomas.Sarkanen
Fixed properties that are fed to skeletal mesh components via construction script not updating when edited
Forced skeletal mesh components to re-init their anim instance on reregister when in an editor world (a previous optimization was preventing this).
Switched order of RerunConstructionScripts and ReregisterAllComponentsto be in-line with the undo/redo case to prevent edits being a frame out of date.
#jira UE-31890 - Variables cast from the Construction Script do not update in AnimBP AnimGraph
Change 3053241 on 2016/07/18 by Martin.Wilson
Add parent bone space to GetSocketTransform
#jira UE-29814
Change 3053270 on 2016/07/18 by Jurre.deBaare
PR #2105: Disable creation of array modifiers (Contributed by projectgheist)
Change 3053273 on 2016/07/18 by Jurre.deBaare
Default ini for asset viewer and HDR images
#jira UE-32903
Change 3053527 on 2016/07/18 by Ori.Cohen
Fix CIS
#JIRA UE-33375
Change 3053620 on 2016/07/18 by Thomas.Sarkanen
Socket chooser now has a search box
Uses new FTextFilterExpressionEvaluator to filter bones & sockets by name.
Search box has focus when the menu appears.
#jira UE-23698 - Need a way to search through the Choose Socket or Bone: UI when attaching to a skeletal mesh
Change 3053626 on 2016/07/18 by Martin.Wilson
Fix crash caused by skeletalmeshcomponent being destroyed during a notify
#jira UE-33258
Change 3053761 on 2016/07/18 by Martin.Wilson
Mac build compile fix
Change 3053858 on 2016/07/18 by Lina.Halper
Merging using //UE4/Dev-Framework/_to_//Fortnite/Main/
Fix on crashing recursive asset
Change 3053864 on 2016/07/18 by Ori.Cohen
Make sure phat UI changes when picking different constraint profiles
Change 3053866 on 2016/07/18 by Ori.Cohen
Submit content example for constraint profiles
Change 3053915 on 2016/07/18 by Lina.Halper
The cached animinstance won't refresh until animation is replaced if you open while anim bp is opened
This is the fix for that.
#jira: UE-32927
Change 3053969 on 2016/07/18 by James.Golding
PR #2571: Added a SimEventCallbackFactory (Contributed by NaturalMotionTechnology)
Change 3054004 on 2016/07/18 by Ori.Cohen
Fix crash in welding when children have no owner component and ensure query only does not get welded by mistake.
#jira UE-33333
Change 3054410 on 2016/07/18 by Lina.Halper
Fixed issue with moving translation not working with mirrored parent due to inverse position.
Changed to Transform.
#jira: UE-31521
Change 3054659 on 2016/07/18 by Lina.Halper
Fix for retargeting of pose asset
- Moved animsequence::retarget to be out to AnimationRuntime
- PoseAsset is now using that function to retarget correctly
#code review: Martin.Wilson, Ori.Cohen
Change 3054777 on 2016/07/18 by Jurre.deBaare
Fixing integration blocker, had this fix locally already
#jira UE-33427
Change 3056619 on 2016/07/19 by Ori.Cohen
Temporarily turn off audio threading due to heap corruption.
#JIRA UE-33320
Change 3057770 on 2016/07/20 by Aaron.McLeran
Doing sync trace for occlusion if audio thread is enabled
#jira UE-33494
Change 3057778 on 2016/07/20 by Aaron.McLeran
#jira UE-33494 Fix async line traces from audio thread causing crash (re-enable threaded audio)
Change 3057788 on 2016/07/20 by Aaron.McLeran
#jira UE-33494 Fix async line traces from audio thread causing crash (re-enable threaded audio)
Enabling audio thread (with a capital T for True)
Change 3057850 on 2016/07/20 by Ori.Cohen
Temporarily turn off audio threading as the feature is still experimental
Change 3057876 on 2016/07/20 by Martin.Wilson
Fix Graph Linked External Object issue when saving recompressed animations
#jira UE-33567
Change 3058371 on 2016/07/20 by Ori.Cohen
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework)
[CL 3058682 by Ori Cohen in Main branch]
2016-07-20 18:23:54 -04:00
|
|
|
LimitPlaneTransform *= PreviewSkelMeshComp->GetComponentSpaceTransforms()[LimitDrivingBoneIdx];
|
2015-10-28 08:58:16 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DrawPlane10x10(PDI, LimitPlaneTransform.ToMatrixNoScale(), 200.0f, FVector2D(0.0f, 0.0f), FVector2D(1.0f, 1.0f), GEngine->ConstraintLimitMaterialY->GetRenderProxy(false), SDPG_World);
|
|
|
|
|
DrawDirectionalArrow(PDI, FRotationMatrix(FRotator(90.0f, 0.0f, 0.0f)) * LimitPlaneTransform.ToMatrixNoScale(), FLinearColor::Blue, 50.0f, 20.0f, SDPG_Foreground, 0.5f);
|
|
|
|
|
}
|
2015-10-06 16:47:09 -04:00
|
|
|
}
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
|
|
|
|
|
|
|
|
if(bShowSphericalLimit && ActivePreviewNode->SphericalLimits.Num() > 0)
|
|
|
|
|
{
|
|
|
|
|
for(FAnimPhysSphericalLimit& SphericalLimit : ActivePreviewNode->SphericalLimits)
|
|
|
|
|
{
|
|
|
|
|
FTransform SphereTransform = FTransform::Identity;
|
|
|
|
|
SphereTransform.SetTranslation(SphericalLimit.SphereLocalOffset);
|
|
|
|
|
|
|
|
|
|
const int32 DrivingBoneIdx = PreviewSkelMeshComp->GetBoneIndex(SphericalLimit.DrivingBone.BoneName);
|
|
|
|
|
|
|
|
|
|
if(DrivingBoneIdx != INDEX_NONE)
|
|
|
|
|
{
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3058661)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3038116 on 2016/07/05 by James.Golding
Resave QA-Promotion with new heightfield GUID to fix crash on load (broken DDC in Guildford)
Change 3038271 on 2016/07/05 by Lukasz.Furman
fixed bug with instanced behavior tree nodes writing over memory of other nodes
#jira UE-32789
Change 3038295 on 2016/07/05 by Lukasz.Furman
changed behavior tree node injection to modify shared template instead of switching nodes to instanced
fixes GC reference chain between AI using the same behavior tree
Change 3038504 on 2016/07/05 by Zak.Middleton
#ue4 - Fix typo in comment (debugging arrow).
github #2352
#jira 30255
Change 3039151 on 2016/07/06 by James.Golding
UE-30046 Add bAllowCPUAccess flag to UStaticMesh
Change 3039281 on 2016/07/06 by Ori.Cohen
Fix attached partially simulating ragdolls not moving with actor.
#JIRA UE-32830
Change 3039286 on 2016/07/06 by Benn.Gallagher
Fixed crash with large clothing simulation meshes. Extended max verts from ~16k to ~65k and made it so you can no longer force import clothing above the maximum threshold that the vertex buffer is allowed to hold.
Change 3039313 on 2016/07/06 by Benn.Gallagher
Enabled override of angular joint bias on AnimDynamics
Change 3039335 on 2016/07/06 by Ori.Cohen
Fixed skeletal mesh components with non simulated root bodies incorrectly detaching from component hierarchy.
#JIRA UE-32833
Change 3039412 on 2016/07/06 by Ori.Cohen
PR #2382: Bug when setting constraint orientation using axes parameters (Contributed by DaveC79)
#JIRA UE-30725
Change 3039799 on 2016/07/06 by Tom.Looman
- Renamed SuggestProjectileVelocity_MediumArc to _CustomArc and added support for high/low arcs using float param. (Migrated from Odin)
- Fixed bug in override gravity for the suggest projectile velocity functions.
Change 3039903 on 2016/07/06 by Ori.Cohen
Ensure that skeletal mesh components do NOT teleport unless explicitly asked to.
Change 3039932 on 2016/07/06 by Lina.Halper
Merging using //Orion/Dev-General_to_//UE4/Dev-Framework
serialize crash is always bad, so dupe checkin.
Change 3040059 on 2016/07/06 by Ori.Cohen
Fix bug where FixedFramerate was only clamping delta times that were above (very slow delta time was not getting changed to the fixed framerate)
#JIRA UE-32730
Change 3040203 on 2016/07/06 by Jon.Nabozny
Fix scaling multiple selected Actors by changing scale-base translation calculations to local space.
#jira UE-32357
Change 3040211 on 2016/07/06 by Ori.Cohen
Fix constraints being unselectable in phat when a render mesh is on top
#JIRA UE-32479
Change 3040273 on 2016/07/06 by Ori.Cohen
Fix vehicle drag adding instead of removing energy when in reverse.
#JIRA UE-28957
Change 3040293 on 2016/07/06 by Zak.Middleton
#ue4 - Add FMath::ClosestPointOnInfiniteLine() to distinguish it from the (poorly named) ClosestPointOnLine() that actually works on segments.
Change 3040325 on 2016/07/06 by Zak.Middleton
#ue4 - Avoid checking for "client only" builds when recording demos. It could be a demo recording in standalone. Minor impact to previous optimization.
#udn https://udn.unrealengine.com/questions/301595/412-413-regression-in-actorgetnetmode.html
Change 3040950 on 2016/07/07 by Thomas.Sarkanen
Removed GWorld from FTimerManager
Switched LastAssignedHandle to a static member.
#jira UE-31485 - Remove GWorld from FTimerManager
Change 3041054 on 2016/07/07 by Jon.Nabozny
Fix warning about negation operator on FRotator introduced in CL 3040203.
Change 3041214 on 2016/07/07 by Ori.Cohen
Fix hit events on skeletal mesh component not respecting the AND between skeletal mesh component and the ragdoll bodies
#JIRA UE-29538
Change 3041319 on 2016/07/07 by James.Golding
UE-29771
- Rename LocalAtoms to BoneSpaceTransforms
- Rename SpaceBases to ComponentSpaceTransforms
Change 3041432 on 2016/07/07 by James.Golding
UE-30937 Add FindCollisionUV util to GameplayStatics, but only works if you set new bSupportUVFromHitResults flag in PhysicsSettings, as we need to store UV info in the BodySetup. This is kept with the cooked mesh data in the DDC.
Also remove PhysicsSettings.h from PhysicalMaterial.h
Change 3041434 on 2016/07/07 by James.Golding
Improve comment on UStaticMesh::bAllowCPUAccess
Change 3041701 on 2016/07/07 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3041498
Change 3041760 on 2016/07/07 by Ori.Cohen
Fix bug where turning collision off and on for a welded root body would not re-weld child bodies.
#JIRA UE-32438
Change 3041771 on 2016/07/07 by Marc.Audy
Add GetParentActor convience accessor
Change 3041798 on 2016/07/07 by Marc.Audy
Don't double call BeginPlay on ChildActors when loading sublevels (4.12)
#jira UE-32772
Change 3041857 on 2016/07/07 by Jon.Nabozny
Allow modifying and reading EnableGravity flags on individual bones within a SkeletalMeshComponent via BoneName.
#jira UE-32272
Change 3041914 on 2016/07/07 by Marc.Audy
Fix mismatch function prototype
Change 3042041 on 2016/07/07 by Jon.Nabozny
Fix CIS issue introduced by CL 3041857
Change 3042402 on 2016/07/08 by James.Golding
Fix CIS after no longer globally including PhysicsSettings.h
Change 3042517 on 2016/07/08 by Martin.Wilson
Fix root motion when actor and component transforms do not match
#jira UE-32944
Change 3043021 on 2016/07/08 by mason.seay
Assets for testing poses
Change 3043246 on 2016/07/08 by Marc.Audy
Eliminate USoundWave::CompressionName
Add USoundWave::HasCompressedFormat
#jira UE-32546
Change 3044376 on 2016/07/11 by James.Golding
- UE-32907 : Change UStaticMesh::GetPhysicsTriMeshData to only return required verts (ie will not return verts of sections with collision disabled)
- Add UVInfo mem usage to UBodySetup::GetResourceSize
- Remove BodySetup.h from EnginePrivate.h
- Remove outdated comment in PhysUtils.cpp
Change 3044464 on 2016/07/11 by Ori.Cohen
Fix CIS
#JIRA UE-33005
Change 3044519 on 2016/07/11 by Ori.Cohen
PR #2379: Option to Generate Overlaps for Actor during Level Streaming (Contributed by error454)
#JIRA UE-30712
Change 3044774 on 2016/07/11 by Zak.Middleton
#ue4 - Fix typos in comments.
Change 3044854 on 2016/07/11 by Mieszko.Zielinski
Made AI sight's default trace channel configurable and set it to ECC_Visibility #UE4
#jira UE-32013
Change 3044855 on 2016/07/11 by Mieszko.Zielinski
Fixed BB key selectors not being resolved properly in BP implemented nodes #UE4
#jira UE-32458
Change 3044887 on 2016/07/11 by Zak.Middleton
#ue4 - Added new Blueprint library math/vector functions: FindClosestPointOnSegment, FindClosestPointOnLine, GetPointDistanceToSegment, GetPointDistanceToLine.
- Fixed comments on FindNearestPointsOnLineSegments.
- Fixed comments on FMath::PointDistToLine, and renamed "Line" parameter to "Direction".
Merge CL 3036162.
Change 3044910 on 2016/07/11 by Mieszko.Zielinski
Fixed AISense_Sight not reporting any hits on ECC_Visibility channel #UE4
Change 3045144 on 2016/07/11 by Lukasz.Furman
exposed pathfollowing's reach test modifier: goal radius as parameter of move request
Change 3045174 on 2016/07/11 by Marc.Audy
Remove incorrect SetMobility reference from comment
#jira UE-30492
Change 3045233 on 2016/07/11 by Marc.Audy
Correct function name in warning
Change 3045284 on 2016/07/11 by mason.seay
Test Assets for pose blending
Change 3045342 on 2016/07/11 by Michael.Noland
PR #2284: Added PAPER2D_API to FSpriteDrawCallRecord (Contributed by grisevg)
#jira UE-29522
Change 3045343 on 2016/07/11 by Michael.Noland
PR #2533: Fixed bug that caused the tabs in the Flipbook, Sprite, and CodeProject editors to show the editor name rather than the asset name (Contributed by DevVancouver)
#jira UE-32403
Change 3045344 on 2016/07/11 by Michael.Noland
Paper2D: Fixed BP-created tile map components being incapable of having collision generated for them (still requires calling SetLayerCollision with rebuild=true or RebuildCollision)
Paper2D: Exposed the ability to directly rebuild collision on a UPaperTileMap
#jira UE-31632
Change 3045382 on 2016/07/11 by Ori.Cohen
Expose mobility filtering query params. Allows users to filter out static mobility for example from scene queries.
#JIRA UE-29937
Change 3045529 on 2016/07/11 by Zak.Middleton
#ue4 - Improve comment about FFindFloorResult.bBlockingHit, explaining it is a valid blocking hit that was not in penetration. Other conditions can be determined from the HitResult itself.
Change 3045601 on 2016/07/11 by Michael.Noland
Paper2D: Expose UPaperTileMap and UPaperTileSet as BlueprintType
#jira UE-20962
Change 3046039 on 2016/07/12 by Jurre.deBaare
Instanced HLOD materials to reduce permutations + compilation time
Change 3046147 on 2016/07/12 by Ori.Cohen
PR #1615: Traceworldforposition should trace async scene too
#JIRA UE-21728
Change 3046180 on 2016/07/12 by Ori.Cohen
Introduce a shape complexity project setting
#JIRA UE-31159
Change 3046280 on 2016/07/12 by Ori.Cohen
Change physics blend weights to only affect rendering data. For effects that require updating physx we recommend using the new physical animation component.
#JIRA UE-31525, UE-19252
Change 3046282 on 2016/07/12 by Benn.Gallagher
Fix for crash or notify corruption when reverting the "Event" struct in montage notify editor.
- Made default slot 0, as a montage should always have at least one slot
- Made it impossible to revert the "Event" struct as it contains stuff that shouldn't be reverted. Can still revert its members though
#jira UE-32626
Change 3046284 on 2016/07/12 by Benn.Gallagher
Fix for crash or notify corruption when reverting the "Event" struct in montage notify editor.
- Made default slot 0, as a montage should always have at least one slot
- Made it impossible to revert the "Event" struct as it contains stuff that shouldn't be reverted. Can still revert its members though
(2nd CL, missed file)
#jira UE-32626
Change 3046416 on 2016/07/12 by Jon.Nabozny
PR #2512: Change InstancedStaticMesh allow transform update to teleport (Contributed by joelmcginnis)
#jira UE32123
Change 3046428 on 2016/07/12 by Michael.Noland
Paper2D: Fixed inconsistent lighting on lit grouped sprites (caused by bad normals on any grouped sprites that were rotated away from (0,0,0))
#jira UE-33055
Change 3046429 on 2016/07/12 by Michael.Noland
Paper2D: Fixed inconsistent lighting on lit tilemaps in standalone or cooked builds (caused by trying to use the canonical Paper2D tangent basis before it has been initialized)
#jira UE-25994
Change 3046475 on 2016/07/12 by Ori.Cohen
Added strength multiplyer for physical animation
#JIRA UE-33075
Change 3046518 on 2016/07/12 by Ori.Cohen
Make sure to refresh contact points when turning simulation on for bodies.
#JIRA UE-31286
Change 3046658 on 2016/07/12 by Ori.Cohen
Fix the case where setting body blend weight doesn't turn off blend override.
Change 3046720 on 2016/07/12 by Ori.Cohen
Added option to allow skeletal mesh simulation to NOT affect component transform.
#JIRA UE-33089
Change 3046908 on 2016/07/12 by Ori.Cohen
Fix welded body not properly unwelding when in a chain of welded bodies
#JIRA UE-32531
Change 3047015 on 2016/07/12 by Lukasz.Furman
fixed nested repath requests
Change 3047102 on 2016/07/12 by Ori.Cohen
Added physics component to content example
Change 3047848 on 2016/07/13 by Ori.Cohen
Expose transform update mode to phat
#JIRA UE-33227
Change 3047853 on 2016/07/13 by Ori.Cohen
Update physical animation level and content. Was missing some blueprints
Change 3047897 on 2016/07/13 by Ori.Cohen
PR #2066: PhysX: Remove copy-paste code from LoadPhysXModules (Contributed by bozaro)
#JIRA UE-27102
Change 3048026 on 2016/07/13 by Benn.Gallagher
Altered reference gathering for retargetting to consider nodes in the Ubergraph. This catches refrerences as variables in the event graph and default values on event graph pins.
#jira UE-23823
Change 3048592 on 2016/07/13 by Marc.Audy
Change check when physics state exists but not registered to ensure and add additional logging information.
#jira UE-32935
Change 3048790 on 2016/07/13 by Ori.Cohen
Fix CIS for shipping physx builds.
#JIRA UE-33246
Change 3048801 on 2016/07/13 by Ori.Cohen
Update RootBodyTransform when ref skeleton has offset
Change 3048891 on 2016/07/13 by Marc.Audy
Fix copy paste bug with AudioComponent::SetPitchMultiplier
Change 3049549 on 2016/07/14 by Thomas.Sarkanen
Prevented stale anim asset references from persisting in wired pins
Made sure to clear out the old asset in asset players when pins are made/destroyed. This requires a temporary string reference to the asset in UAnimGraphNode_AssetPlayerBase.
Fixed up anim getters to properly use pin-default assets (previously they used the internal asset ptr that was not guaranteed to be in sync). Also fixe dup error messaging to be a bit more helpful when editing transition rules.
Fixed up the various animation asset players to correctly display names when the asset is not set internally. Also correctly report compilation errors when pins are connected.
Moved FA3NodeOptionalPinManager to new file ane renamed to FAnimBlueprintNodeOptionalPinManager to avoid circular includes.
#jira UE-31015 - Asset Pins Keep Reference To Old 'Static' Asset
Change 3049576 on 2016/07/14 by Thomas.Sarkanen
Fix CIS linker errors
Change 3049611 on 2016/07/14 by Benn.Gallagher
Fixed "Isolate" checkbox in Persona mesh details not working on sections with clothing assigned (previously disabled drawing for all sections)
Fixed "Highlight" checkbox in Persona mesh details not working after Section/Chunk refactor
#jira UE-31016
#jira UE-33061
Change 3049663 on 2016/07/14 by Benn.Gallagher
CIS fix after Persona render fixes
Change 3049794 on 2016/07/14 by Marc.Audy
Some cleanup and ensuring ActiveSound adds references to all of its used assets
Change 3049823 on 2016/07/14 by Tom.Looman
Added Player Connect and Disconnect Multicast Events to GameMode
PR #2398: Player Connect and Disconnect Multicast Events (for Plugins) (Contributed by dreckard)
Change 3049896 on 2016/07/14 by Ori.Cohen
Fix cases where updating welded bodies is causing physx body to ignore the kinematic flag.
#JIRA UE-31660
Change 3049921 on 2016/07/14 by Benn.Gallagher
PR #2294: Reduce PhysX simulate() memory churn (Contributed by roberttroughton)
- Modifications: Per PxScene buffers, 16 byte alignment required for simulate call, skip clothing scenes (unused, we simulate per-actor)
#jira UE-29573
Change 3049929 on 2016/07/14 by Zak.Middleton
#ue4 - Make GetDefault<T>(UClass*) assert that the class is castable to T.
Change 3049956 on 2016/07/14 by Zak.Middleton
#ue4 - Back out changelist 3049929 until I fix CastChecked<> compile issue.
Change 3049992 on 2016/07/14 by Jon.Nabozny
Fix infite jumps when JumpMaxHoldTime is set. Also, allow multi-jumping out of the box.
#JIRA: UE-31601
Change 3050017 on 2016/07/14 by James.Golding
PR #2412: Make CalcSceneView and GetProjectionData in ULocalPlayer virtual (Contributed by yehaike)
Change 3050061 on 2016/07/14 by Zak.Middleton
#ue4 - Make GetDefault<T>(UClass*) assert that the class is castable to T.
Change 3050254 on 2016/07/14 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3049614
Change 3050416 on 2016/07/14 by mason.seay
Test map and asset for slicing proc meshes
Change 3050881 on 2016/07/14 by Zak.Middleton
#ue4 - Make FSavedMove_Character::CanCombineWith easier to debug. Consolidate duplicate code to one block.
github #2047
Change 3051401 on 2016/07/15 by Thomas.Sarkanen
Prevented animation from restarting each time a new section is selected/inspected in the montage editor
Preserved playback state when changing section.
Added SetWeight function to montage instance as when switching between sections the montage would blend from ref-pose while paused.
#jira UE-31014 - Moving Montage Event Unpauses Playback
#jira UE-25101 - Improve Montage Replay Usability issue
Change 3051717 on 2016/07/15 by Benn.Gallagher
Removed call to set sleepVelocityFrameDecayConstant on destructible shapes after advice from Nvidia and investigation by some licensees. Feature was used in the past to better settle piles but now PhysX can handle it fine and by setting it we were causing a hit in island generation.
#jira UE-18558
Change 3051729 on 2016/07/15 by Benn.Gallagher
Changed enum combo boxes so that they use rich tooltips instead of text tooltips.
- They look the same when there isn't a documentation entry for them (Just the enum name)
- Enum docs stored in /Shared/Enums/{EnumType} and the excerpt names are just the enum name
Change 3051825 on 2016/07/15 by Marc.Audy
Display HiddenInGame for SceneComponents except when part of flattened properties in an Actor such as StaticMeshActor
#jira UE-29435
Change 3051850 on 2016/07/15 by Marc.Audy
Reduce priority of audio thread
Add a frame sync to avoid audio thread drifiting behind
Change 3051920 on 2016/07/15 by Tom.Looman
Added ActorComponent Activate/Deactivate events
#JIRA UE-31077
Change 3051923 on 2016/07/15 by Tom.Looman
PR #2370: Exposing "OverrideWith" and "CopyProperties" in PlayerState to Blueprint Children (Contributed by eXifreXi)
Change 3052038 on 2016/07/15 by Martin.Wilson
Possible fix for fortnite crash + ensure incase the situation occurs again
#jira UE-33258
Change 3052042 on 2016/07/15 by Jurre.deBaare
Copying //Tasks/Framework/DEV-UEFW-21-AlembicImporter to Dev-Framework (//UE4/Dev-Framework)
Change 3052171 on 2016/07/15 by Ori.Cohen
Improve UI for constraint profiles. Polish UI for physical animation profile.
#JIRA UEFW-101, UE-33290
Change 3052243 on 2016/07/15 by Martin.Wilson
Pose watching: Ability to draw bones of pose at any point in the anim graph.
#jira UE-12181 (originally Epic Friday project)
Change 3053202 on 2016/07/18 by Thomas.Sarkanen
FAnimInstanceProxy::EvaulateAnimation is now split into two for easier extensibility
#jira UE-30107 - Split out part of FAnimInstanceProxy::EvaulateAnimation to allow users to use node evaluate without code duplication
Change 3053203 on 2016/07/18 by Thomas.Sarkanen
Fixed properties that are fed to skeletal mesh components via construction script not updating when edited
Forced skeletal mesh components to re-init their anim instance on reregister when in an editor world (a previous optimization was preventing this).
Switched order of RerunConstructionScripts and ReregisterAllComponentsto be in-line with the undo/redo case to prevent edits being a frame out of date.
#jira UE-31890 - Variables cast from the Construction Script do not update in AnimBP AnimGraph
Change 3053241 on 2016/07/18 by Martin.Wilson
Add parent bone space to GetSocketTransform
#jira UE-29814
Change 3053270 on 2016/07/18 by Jurre.deBaare
PR #2105: Disable creation of array modifiers (Contributed by projectgheist)
Change 3053273 on 2016/07/18 by Jurre.deBaare
Default ini for asset viewer and HDR images
#jira UE-32903
Change 3053527 on 2016/07/18 by Ori.Cohen
Fix CIS
#JIRA UE-33375
Change 3053620 on 2016/07/18 by Thomas.Sarkanen
Socket chooser now has a search box
Uses new FTextFilterExpressionEvaluator to filter bones & sockets by name.
Search box has focus when the menu appears.
#jira UE-23698 - Need a way to search through the Choose Socket or Bone: UI when attaching to a skeletal mesh
Change 3053626 on 2016/07/18 by Martin.Wilson
Fix crash caused by skeletalmeshcomponent being destroyed during a notify
#jira UE-33258
Change 3053761 on 2016/07/18 by Martin.Wilson
Mac build compile fix
Change 3053858 on 2016/07/18 by Lina.Halper
Merging using //UE4/Dev-Framework/_to_//Fortnite/Main/
Fix on crashing recursive asset
Change 3053864 on 2016/07/18 by Ori.Cohen
Make sure phat UI changes when picking different constraint profiles
Change 3053866 on 2016/07/18 by Ori.Cohen
Submit content example for constraint profiles
Change 3053915 on 2016/07/18 by Lina.Halper
The cached animinstance won't refresh until animation is replaced if you open while anim bp is opened
This is the fix for that.
#jira: UE-32927
Change 3053969 on 2016/07/18 by James.Golding
PR #2571: Added a SimEventCallbackFactory (Contributed by NaturalMotionTechnology)
Change 3054004 on 2016/07/18 by Ori.Cohen
Fix crash in welding when children have no owner component and ensure query only does not get welded by mistake.
#jira UE-33333
Change 3054410 on 2016/07/18 by Lina.Halper
Fixed issue with moving translation not working with mirrored parent due to inverse position.
Changed to Transform.
#jira: UE-31521
Change 3054659 on 2016/07/18 by Lina.Halper
Fix for retargeting of pose asset
- Moved animsequence::retarget to be out to AnimationRuntime
- PoseAsset is now using that function to retarget correctly
#code review: Martin.Wilson, Ori.Cohen
Change 3054777 on 2016/07/18 by Jurre.deBaare
Fixing integration blocker, had this fix locally already
#jira UE-33427
Change 3056619 on 2016/07/19 by Ori.Cohen
Temporarily turn off audio threading due to heap corruption.
#JIRA UE-33320
Change 3057770 on 2016/07/20 by Aaron.McLeran
Doing sync trace for occlusion if audio thread is enabled
#jira UE-33494
Change 3057778 on 2016/07/20 by Aaron.McLeran
#jira UE-33494 Fix async line traces from audio thread causing crash (re-enable threaded audio)
Change 3057788 on 2016/07/20 by Aaron.McLeran
#jira UE-33494 Fix async line traces from audio thread causing crash (re-enable threaded audio)
Enabling audio thread (with a capital T for True)
Change 3057850 on 2016/07/20 by Ori.Cohen
Temporarily turn off audio threading as the feature is still experimental
Change 3057876 on 2016/07/20 by Martin.Wilson
Fix Graph Linked External Object issue when saving recompressed animations
#jira UE-33567
Change 3058371 on 2016/07/20 by Ori.Cohen
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework)
[CL 3058682 by Ori Cohen in Main branch]
2016-07-20 18:23:54 -04:00
|
|
|
SphereTransform *= PreviewSkelMeshComp->GetComponentSpaceTransforms()[DrivingBoneIdx];
|
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DrawSphere(PDI, SphereTransform.GetLocation(), FVector(SphericalLimit.LimitRadius), 24, 6, GEngine->ConstraintLimitMaterialY->GetRenderProxy(false), SDPG_World);
|
|
|
|
|
DrawWireSphere(PDI, SphereTransform, FLinearColor::Black, SphericalLimit.LimitRadius, 24, SDPG_World);
|
|
|
|
|
}
|
|
|
|
|
}
|
2015-10-06 16:47:09 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
const int32 BoneIndex = PreviewSkelMeshComp->GetBoneIndex(Node.BoundBone.BoneName);
|
|
|
|
|
|
|
|
|
|
if(BoneIndex != INDEX_NONE)
|
|
|
|
|
{
|
|
|
|
|
// World space transform
|
|
|
|
|
const FTransform BoneTransform = PreviewSkelMeshComp->GetBoneTransform(BoneIndex);
|
|
|
|
|
FTransform ShapeTransform = BoneTransform;
|
|
|
|
|
ShapeTransform.SetTranslation(ShapeTransform.GetTranslation() - Node.LocalJointOffset);
|
|
|
|
|
|
|
|
|
|
for(const FIntVector& Triangle : EditPreviewShape.Triangles)
|
|
|
|
|
{
|
|
|
|
|
for(int32 Idx = 0 ; Idx < 3 ; ++Idx)
|
|
|
|
|
{
|
|
|
|
|
int32 Next = (Idx + 1) % 3;
|
|
|
|
|
|
|
|
|
|
FVector FirstVertPosition = ShapeTransform.TransformPosition(EditPreviewShape.Vertices[Triangle[Idx]]);
|
|
|
|
|
FVector SecondVertPosition = ShapeTransform.TransformPosition(EditPreviewShape.Vertices[Triangle[Next]]);
|
|
|
|
|
|
|
|
|
|
PDI->DrawLine(FirstVertPosition, SecondVertPosition, AnimDynamicsNodeConstants::ShapeDrawColor, SDPG_Foreground, AnimDynamicsNodeConstants::ShapeLineWidth);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// COM
|
|
|
|
|
FVector Origin = ShapeTransform.GetTranslation();
|
|
|
|
|
FVector XAxis(1.0f, 0.0f, 0.0f);
|
|
|
|
|
FVector YAxis(0.0f, 1.0f, 0.0f);
|
|
|
|
|
FVector ZAxis(0.0f, 0.0f, 1.0f);
|
|
|
|
|
|
|
|
|
|
XAxis = ShapeTransform.TransformVector(XAxis);
|
|
|
|
|
YAxis = ShapeTransform.TransformVector(YAxis);
|
|
|
|
|
ZAxis = ShapeTransform.TransformVector(ZAxis);
|
|
|
|
|
|
|
|
|
|
PDI->DrawLine(Origin, Origin + XAxis * AnimDynamicsNodeConstants::TransformBasisScale, FLinearColor::Red, SDPG_Foreground, 0.5f);
|
|
|
|
|
PDI->DrawLine(Origin, Origin + YAxis * AnimDynamicsNodeConstants::TransformBasisScale, FLinearColor::Green, SDPG_Foreground, 0.5f);
|
|
|
|
|
PDI->DrawLine(Origin, Origin + ZAxis * AnimDynamicsNodeConstants::TransformBasisScale, FLinearColor::Blue, SDPG_Foreground, 0.5f);
|
|
|
|
|
|
|
|
|
|
// Local joint offset
|
|
|
|
|
FVector JointOffset = ShapeTransform.Rotator().RotateVector(Node.LocalJointOffset);
|
|
|
|
|
PDI->DrawLine(ShapeTransform.GetTranslation(), ShapeTransform.GetTranslation() + JointOffset, FLinearColor::Green, SDPG_Foreground, AnimDynamicsNodeConstants::ShapeLineWidth);
|
|
|
|
|
|
|
|
|
|
if (bShowLinearLimits)
|
|
|
|
|
{
|
|
|
|
|
DrawLinearLimits(PDI, ShapeTransform, Node);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bShowAngularLimits)
|
|
|
|
|
{
|
|
|
|
|
DrawAngularLimits(PDI, ShapeTransform, Node);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Framework to //UE4/Main @ 2775446
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2720537 on 2015/10/07 by Aaron.McLeran
Audio Optimization: Implementing an audio update delta time so audio isn't updated with every engine tick
Change 2746582 on 2015/10/29 by Aaron.McLeran
Implementing single ray-cast sound occlusion
- Fixing/Implementing sound occlusion using one ray cast
- Update rate of the ray cast is conifgurable by the user
- User can enabled/disable occlusion and set various properties of the occlusion at the audio component level
- Occlusion ray-casts are made at a slower rate than the audio engine is updated
- The following properties are supported:
* LowPassFilterFrequency (the LPF cutoff frequency of the per-voice filter to apply if a sound is occluded)
* OcclusionVolumeAttenuation (the volume attenuation to apply to sounds that are occluded)
* OcclusionInterpolationTime (how fast a sound moves from occluded to unoccluded... allows user-defined interpolation times, avoids fast parameter setting for smoother transitions)
- Fixed how low-pass filter frequency is applied on platforms that support it.
* Changed the older HighFrequencyGain parameter to a more understandable and correct LowPassFilterFrequency parameter
* Updated the parameter for the various other features that use per-voice LPF (e.g. audio volumes, distance-based filtering)
* Added backward-compatibility code to take old HighFrequencyGain params to new LowPassFilterFrequency params.
* At the lowest level, there is only one filter which is applied to a sound, but the parameter that has the lowest cutoff frequency is the one used
* Fixed how the parameter is applied at the lower-level in XAudio2 and CoreAudio. The old parameter was incorrectly applied.
* XAudio2 documentation on the low-pass-fitler frequency cutoff param is confirmed incorrect through testing.
#rb zak.middleton
Change 2765174 on 2015/11/12 by Aaron.McLeran
UE-23091 More fixage for NaN audio log spam
Last checkin for this (CL 2760896) was fixing a legit issue but there was still an issue that I was rarely catching during the FN gate encounter in AITestbed after about 5 min of gate defense.
To track down, I added a lot more logging and asserts on NaN numbers in the audio code, enabled ENABLE_NAN_DIAGNOSTIC in UnrealMathUtility.h.
- Was able to trace another cause of the NaNs in audio to 2 uninitialized variables in SoundAttenuationSettings struct: OmniRadius and StereoSpread.
- Zak M suggested the change of the const ref position vector in ListenerPosition and the usage of GetSafeNormal() in Audio.cpp since the value returned by GetLocation() is a temporary and Normalize() is unsafe.
- I removed the flag for the XAudio2 call to compute doppler since we don't use that value and it could've been as source of more NaNs in X3DAudioCalculate
#codereview Zak.Middleton
#rb Zak.Middleton
Change 2765467 on 2015/11/13 by James.Golding
- Allow -ms option to work with 'stat dumphitches' for controlling min time logged
#rb gil.gribb
Change 2765746 on 2015/11/13 by Benn.Gallagher
Added buckets for update rate shift tags (for staggering anim updates)
#jira UE-23213
#rb Bruce.Nesbit
Change 2765747 on 2015/11/13 by Benn.Gallagher
Fixes for bone length calculation in anim dynamics chains.
#rb Bruce.Nesbit
Change 2765749 on 2015/11/13 by Benn.Gallagher
Removed allocations from local CS blends for skeletal controls.
#rb Bruce.Nesbit
Change 2765752 on 2015/11/13 by Benn.Gallagher
Lod mapping support for URO customization
#jira UE-23211
#rb Bruce.Nesbit
Change 2765965 on 2015/11/13 by Marc.Audy
Remove outdated code in LoadMap previously used for matching up downloaded packages from servers. These code paths no longer operate, but in the case where a PIE client was connecting to a non-PIE server (not really supported, but possible), it would cause the Editor Level package to be flagged as as PIE package and cause a crash on exit of PIE
#jira UE-21181
#rb Josh.Markiewicz
Change 2766071 on 2015/11/13 by Mieszko.Zielinski
Fixed dumb mistake in AEQSTestingPawn::PostLoad #UE4
the 'bTickDuringGame == bTickDuringGame' thing
#rb John.Abercrombie
Change 2766086 on 2015/11/13 by Mieszko.Zielinski
Exposing NavModifierComponent to ENGINE_API #UE4
#codereview Lukasz.Furman
Change 2766345 on 2015/11/13 by Mieszko.Zielinski
No longer compiling AISystem's creation out from client builds #UE4
Instead AISystem's instantiation on clients is configurable via UAISystemBase::bInstantiateAISystemOnClient config variable
Change 2766346 on 2015/11/13 by Mieszko.Zielinski
Improvements to EQS test scoring function preview #UE4
#rb Lukasz.Furman
Change 2766528 on 2015/11/13 by Stan.Melax
multiple materials/chunks on a single cloth sim mesh
This supposedly used to work in 4.7 but broke for 4.8
It looks like previous change 2493547 may have introduced the condition statement that makes multiple materials not include all of there verts.
Changing this to instead check for the bounds on the skinningmap instead of the NumRealSimVerts which doesn't look like it takes the offset into consideration.
jira:
#UE-23300
https://jira.ol.epicgames.net/browse/UE-23300
https://answers.unrealengine.com/questions/287833/apex-not-working-on-multiple-materials-since-48.html
Double tested code change with test asset from https://jira.ol.epicgames.net/browse/UE-10674
#rb Benn.Gallagher
Change 2766546 on 2015/11/13 by Marc.Audy
Throw warning for orphaned looping sounds caused by a looping sound node
Don't do somewhat expensive (due to weak pointer) orphaned sound checks in test or shipping
#rb Aaron.McLeran
Change 2766917 on 2015/11/14 by Jurre.deBaare
Fix UE4-23349 Simplygon doens't support sub 64 pixel textures
Change 2767742 on 2015/11/16 by Marc.Audy
Restructure SignificanceManager to store significance manager references in a FGCObject Module class instead of using a singleton.
Improve performance by eliminating StaticFindObjectFast calls in ::Get and force inlining Get calls
#rb Zak.Middleton, Rob.Manuszewski
Change 2767827 on 2015/11/16 by Zak.Middleton
#ue4 - Perf: avoid SmoothClientPosition() calls once the target mesh offset has been reached.
- New flag bNetworkSmoothingComplete indicates whether smoothing has reached the destination. This is set to false when a new network position is received.
- Also fixes trying to smooth rotation towards identity rotation before receiving network updates.
- Deprecated FNetworkPredictionData_Client_Character::CurrentSmoothTime in favor of saving last update time, to prevent needing to update time every tick (since we skip updates now).
#rb Dan.Youhon
Change 2768070 on 2015/11/16 by Marc.Audy
Change StaticDuplicateObject and DuplicateObject to take FName instead of char* (existing usages can automatically convert to FName so no backwards compatibility issues)
Fixup usages to avoid unnecessary string -> char* -> name conversions
Change AActor::CreateComponentFromTemplate to take an FName instead of FString, deprecated FString version
#rb Gil.Gribb
Change 2768121 on 2015/11/16 by Marc.Audy
Forceinline GetFName
Change 2768161 on 2015/11/16 by Aaron.McLeran
Checking occlusion back in
- Bug was due to improper interpolation of LPFFrequency values in audio volumes.
Change 2769428 on 2015/11/17 by Thomas.Sarkanen
Fixed backwards-compatibility issues with FExposedValueCopyRecord
Added PostSerialize function to patch up older data to the new format (copies properties->property FNames).
Made sure to zero FExposedValueCopyRecord in its constructor, prevents uninitialized variable issues when generating CRCs. This is necessary despite these members being UPROPERTYs because they are simply built on the stack then stuffed into the new CDO during compilation.
UE-23268 - EDITOR CRASH: Assertion failed: ((UObject*)ContainerPtr)->IsA((UClass*)GetOuter())
#rb James.Golding
#codereview Mike.Beach,Bob.Tellez
Change 2769488 on 2015/11/17 by Benn.Gallagher
DrawCanvas and debug string support for skeletal controls - accessed using "Skeletal Controls" option in Show->Display Info in Persona
#rb Martin.Wilson
Change 2769545 on 2015/11/17 by Benn.Gallagher
Added space conversion options to copy bone node.
#jira OR-9430
#rb Martin.Wilson
Change 2770228 on 2015/11/17 by Marc.Audy
Fix cause of assert firing when detaching if AttachTo(AttachParent) returns false
#rb Ori.Cohen
#jira UE-23366
Change 2770489 on 2015/11/17 by Marc.Audy
Make ::Serialize WITH_EDITORONLY_DATA since it did nothing otherwise
Change 2770761 on 2015/11/17 by Aaron.McLeran
Removing optimization disablement
- Forgot to remove these lines before checking in/testing.
Change 2771375 on 2015/11/18 by Thomas.Sarkanen
Added initialzation of internal state machine desc ptrs to (finally) remove random crashes when using sub-state machines
#rb Benn.Gallagher
Change 2771697 on 2015/11/18 by Jeff.Farris
Sensible defaults for APlayerController::ClientPlayCameraAnim and ClientPlayCameraShake
#rb marc.audy
Change 2771755 on 2015/11/18 by Marc.Audy
Put back in the recursion block for destroy actor
#rb James.Golding
Change 2772217 on 2015/11/18 by Marc.Audy
Update axis inversion to work the same way as sensitivity instead of old problematic way
Also change to use Reset instead of Empty(Array.Num())
#rb Jeff.Farris
Change 2772686 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization coordinate bug.
Don't need to convert to xaudio2 coordinates for HRTF spatialization
#rb chad.taylor
Change 2772766 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization with xaudio2 voice pools
- Issue was caused by 2 issues:
- effect chains weren't properly clearing their state between uses (SetEffectChain(nullptr) releases the effect for use with other voices)
- Not re-setting MaxEffectChainChannels = 0 in CreateSource() was causing re-used SoundSources to release their XAudio2 voices to the wrong pool.
#rb chad.taylor
Change 2773027 on 2015/11/19 by Thomas.Sarkanen
PR #1765: Git Plugin can find the git.exe binary installed on the Local AppData user directory (Contributed by SRombauts)
#rb Thomas.Sarkanen
Change 2773142 on 2015/11/19 by Benn.Gallagher
Optimized SafeSetCSBoneTransforms, no longer doing 2 iterations over the whole pose.
- Only iterating beyond the index of the first bone transform, cutting off all bones before
- No longer using a bone mask the size of the skeleton, just an array of interesting nodes
- No longer attempting to convert a transform if it isn't necessary (which was happening a lot)
#rb Laurent.Delayen
Change 2773212 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Removing ugly comment. Not going to remove the node itself for backward compatibility.
Change 2773351 on 2015/11/19 by Zak.Middleton
#orion - Make sure we don't skip a final visual update when character mesh interpolation tries to stop smoothing once it reaches its destination. We keep setting bNetworkSmoothingComplete to false until the first visual update, at which point if it remains true we will stop getting updates.
#rb Dan.Youhon
Change 2773599 on 2015/11/19 by Marc.Audy
Fix shadow variable, initialization order, and incorrect placement of ENGINE_API that fails compiles on clang
#codereview Aaron.McLeran
Change 2773661 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Following up by deprecating the CastToPlayerController function for 4.11.
Change 2774707 on 2015/11/19 by Stan.Melax
FCollisionQueryParams constructor API pitfall
Deprecating something that will call the unintended constructor if the programmer provides a string literal instead of explicitly creating an FName.
So this line of code:
FCollisionQueryParams Param(FName(TEXT("DragDropTrace")));
will invoke:
FCollisionQueryParams::FCollisionQueryParams(FName,bool=false,...)
But this line of code:
FCollisionQueryParams Param(TEXT("DragDropTrace"));
invokes:
FCollisionQueryParams::FCollisionQueryParams(bool)
Yes that actually happens, the string literal (the TEXT("whatever")) ends up specifies a bool parameter instead of a FName parameter. So the name is lost and a flag (that is usually set to false) is now set to true (since the string literal address is non-NULL). Yeah, that's could potentially be not what the programmer had intended.
It looks like this interface was introduced in CL 1792949
back in august 2013. Since its been a couple of years, we'll phase it out using the deprecation approach.
Making an API change would break things for existing projects.
If it had been a more recent change we could have probably just gone down to a single constructor right away.
Figured out that going one step further and removing bool param's default and adding a default constructor would minimize the number of places that will be hit with this deprecation. So, yes this is *increasing* the number of construtors temporarily, but this solution has minimal impact on the community. Later after other to-be-deprecated constructor gets removed, the two remaining can be combined into one with defaults for all parameters.
see also
https://udn.unrealengine.com/questions/269512/dangerous-fcollisionqueryparams-overloads.html
#codereview ori.cohen
[CL 2775460 by Marc Audy in Main branch]
2015-11-20 11:02:37 -05:00
|
|
|
void UAnimGraphNode_AnimDynamics::GetOnScreenDebugInfo(TArray<FText>& DebugInfo, USkeletalMeshComponent* PreviewSkelMeshComp) const
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
FAnimNode_AnimDynamics* ActivePreviewNode = GetPreviewDynamicsNode();
|
|
|
|
|
if(ActivePreviewNode)
|
|
|
|
|
{
|
|
|
|
|
int32 NumBones = ActivePreviewNode->GetNumBoundBones();
|
|
|
|
|
for(int32 ChainBoneIndex = 0; ChainBoneIndex < NumBones; ++ChainBoneIndex)
|
|
|
|
|
{
|
|
|
|
|
if(const FBoneReference* BoneRef = ActivePreviewNode->GetBoundBoneReference(ChainBoneIndex))
|
|
|
|
|
{
|
|
|
|
|
const int32 SkelBoneIndex = PreviewSkelMeshComp->GetBoneIndex(BoneRef->BoneName);
|
|
|
|
|
if(SkelBoneIndex != INDEX_NONE)
|
|
|
|
|
{
|
|
|
|
|
FTransform BoneTransform = PreviewSkelMeshComp->GetBoneTransform(SkelBoneIndex);
|
|
|
|
|
DebugInfo.Add(FText::Format(LOCTEXT("DebugOnScreenName", "Anim Dynamics (Bone:{0})"), FText::FromName(BoneRef->BoneName)));
|
|
|
|
|
DebugInfo.Add(FText::Format(LOCTEXT("DebugOnScreenTranslation", " Translation: {0}"), FText::FromString(BoneTransform.GetTranslation().ToString())));
|
|
|
|
|
DebugInfo.Add(FText::Format(LOCTEXT("DebugOnScreenRotation", " Rotation: {0}"), FText::FromString(BoneTransform.Rotator().ToString())));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2015-10-06 16:47:09 -04:00
|
|
|
void UAnimGraphNode_AnimDynamics::DrawLinearLimits(FPrimitiveDrawInterface* PDI, FTransform ShapeTransform, const FAnimNode_AnimDynamics& NodeToVisualise) const
|
|
|
|
|
{
|
|
|
|
|
// Draw linear limits
|
|
|
|
|
FVector LinearLimitHalfExtents(NodeToVisualise.ConstraintSetup.LinearAxesMax - NodeToVisualise.ConstraintSetup.LinearAxesMin);
|
|
|
|
|
// Add a tiny bit so we can see collapsed axes
|
|
|
|
|
LinearLimitHalfExtents += FVector(0.1f);
|
|
|
|
|
LinearLimitHalfExtents /= 2.0f;
|
|
|
|
|
FVector LinearLimitsCenter = NodeToVisualise.ConstraintSetup.LinearAxesMin + LinearLimitHalfExtents;
|
|
|
|
|
FTransform LinearLimitsTransform = ShapeTransform;
|
|
|
|
|
LinearLimitsTransform.SetTranslation(LinearLimitsTransform.GetTranslation() + LinearLimitsTransform.TransformVector(LinearLimitsCenter));
|
|
|
|
|
|
|
|
|
|
DrawBox(PDI, LinearLimitsTransform.ToMatrixWithScale(), LinearLimitHalfExtents, GEngine->ConstraintLimitMaterialPrismatic->GetRenderProxy(false), SDPG_Foreground);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FText UAnimGraphNode_AnimDynamics::GetControllerDescription() const
|
|
|
|
|
{
|
|
|
|
|
return LOCTEXT("Description", "Anim Dynamics");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UAnimGraphNode_AnimDynamics::CustomizeDetails(IDetailLayoutBuilder& DetailBuilder)
|
|
|
|
|
{
|
|
|
|
|
TSharedRef<IPropertyHandle> PreviewFlagHandle = DetailBuilder.GetProperty(GET_MEMBER_NAME_CHECKED(UAnimGraphNode_AnimDynamics, bPreviewLive));
|
|
|
|
|
|
|
|
|
|
IDetailCategoryBuilder& PreviewCategory = DetailBuilder.EditCategory(TEXT("Preview"));
|
|
|
|
|
PreviewCategory.AddProperty(PreviewFlagHandle);
|
|
|
|
|
|
|
|
|
|
FDetailWidgetRow& WidgetRow = PreviewCategory.AddCustomRow(LOCTEXT("ResetButtonRow", "Reset"));
|
|
|
|
|
|
|
|
|
|
WidgetRow
|
|
|
|
|
[
|
|
|
|
|
SNew(SButton)
|
|
|
|
|
.Text(LOCTEXT("ResetButtonText", "Reset Simulation"))
|
|
|
|
|
.ToolTipText(LOCTEXT("ResetButtonToolTip", "Resets the simulation for this node"))
|
|
|
|
|
.OnClicked(FOnClicked::CreateUObject(this, &UAnimGraphNode_AnimDynamics::ResetButtonClicked))
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UAnimGraphNode_AnimDynamics::ValidateAnimNodeDuringCompilation(USkeleton* ForSkeleton, FCompilerResultsLog& MessageLog)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FText UAnimGraphNode_AnimDynamics::GetNodeTitle(ENodeTitleType::Type TitleType) const
|
|
|
|
|
{
|
Copying //UE4/Dev-Framework to //UE4/Main @ 2830052
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2807479 on 2015/12/17 by Zak.Middleton
#ue4 - Optimize allocations in FFinalPostProcessSettings. Fix bug skipping an element when updating the ContributingCubemaps array if one is removed during an iteration.
#rb Aaron.Mcleran
#codereview Martin.Mittring
#jira UE-24485
Change 2807695 on 2015/12/17 by Aaron.McLeran
Changing the VolumeScale sound concurrency implementation to be a volume scalar on older sounds in a concurrency group rather than scale new sounds.
#rb zak.middleton
Change 2808628 on 2015/12/18 by Thomas.Sarkanen
Minor optimization: Dont call GetWorld() 3 times in a row in USceneComponent::ShouldRender()
#rb Martin.Wilson
Change 2810090 on 2015/12/21 by Ori.Cohen
Allow collision and trail particles to run off the game thread.
Clean up missing marshelled AsyncComponentToWorld
Change 2814518 on 2016/01/04 by Marc.Audy
Use Reset instead of Empty
Change 2814530 on 2016/01/04 by James.Golding
UE-2689 Hook up lots of new icons for component classes
#rb thomas.sarkanen
Change 2814665 on 2016/01/04 by Marc.Audy
PR #1860:Fix ChildActorComponent linking issue when extended from game (Contributed by lion03)
Change 2814686 on 2016/01/04 by Benn.Gallagher
Fix for radial force components applying impulses multiple times to destructible components
#rb Ori.Cohen
Change 2815221 on 2016/01/04 by Aaron.McLeran
UE-24528 Fixing focus-distance scaling and focus priority scaling working with concurrency settings.
USoundAttenuation:
- Added methods to SoundAttenuation to get focus, attenuation, and distance scale based on focus factor.
- Added NonFocusDistanceScale parameter to attenuation settings customization so its setable by users
USoundBase:
- Added function on USoundBase which checks IsLooping, which checks the duration
- Removed functions IsAudible and IsAudibleSimple from USoundBase since that functionality is accomplished differently and takes into account focus-distance scaling now.
FActiveSound:
- Caching values of FocusPriorityScale and FocusDistanceScale to Active sound so that can be used for audibility checks
- Included FocusDistanceScale when computing bIsAudible in Active sound
- Moved GetAttenuationListenerData and the accompanying private struct FAttenuationListenerData to FAudioDevice since the audio device and moved code which computes focus factor and geometry into FAudioDevice::GetFocusFactor since it needs to be computed before an active sound exist
FAudioDevice:
- Added SoundIsAudible function which queries a particular sound if its audible based on attenuation settings, focus factor, etc. Will optionally return computed MaxDistance to avoid recomputing it in certain cases.
- Added a few helper functions: FindClosestListenerIndex, GetAttenuationListenerData
- Added GetFocusFactor, which performs the vector math to determine focus factor (0.0 is in-focus, 1.0 is out of focus) for a given sound and listener and attenuation focus settings.
- Updated CreateComponent and PlaySoundAtLocation functions to use the new SoundIsAudible function rather than the old IsAudibleSimple
#rb zak.middleton
Change 2815694 on 2016/01/05 by thomas.sarkanen
Added test texture
Change 2815695 on 2016/01/05 by thomas.sarkanen
Modified test texture
Change 2815709 on 2016/01/05 by James.Golding
PR #1778 : New BP-callablle function AActor::WasRecentlyRendered, with optional tolerance in seconds
https://github.com/EpicGames/UnrealEngine/pull/1778
#github 1778
#jira UE-23674
#rb jurre.debaare
Change 2815711 on 2016/01/05 by James.Golding
PR #1534 : Add missing default tolerance value for FVector2D::Equal
https://github.com/EpicGames/UnrealEngine/pull/1534
#github 1534
#jira UE-20838
#rb jurre.debaare
Change 2815714 on 2016/01/05 by James.Golding
PR #1887 : Added 'Thickness' Parameter to all valid options in Draw Debug Helper
https://github.com/EpicGames/UnrealEngine/pull/1887
#github 1887
#jira UE-24802
#rb jurre.debaare
Change 2815725 on 2016/01/05 by James.Golding
Added comment that USkeletalMeshComponent::bEnablePhysicsOnDedicatedServer cannot be changed at runtime
#jira UE-20439
Change 2815813 on 2016/01/05 by Marc.Audy
Move dispatch of transition functions to new OnMatchStateSet virtual which is called from SetMatchState allowing subclasses to insert their own handling between the set of the variable and dispatch to GameState and Blueprints rather than having to override the entire function.
#codereview Peter.Knepley
Change 2815884 on 2016/01/05 by James.Golding
- Avoid PSC iterating over all particle emitters each tick to check for changes in DetailMode. Now remember global DetailMode when we last checked, and only iterate again if that has changed.
- Add 'WarmupTime' and 'CPUCollision' to Asset Registry Tags for Particle Systems
#rb simon.tovey
#codereview gil.gribb
Change 2816306 on 2016/01/05 by Marc.Audy
(4.11) Pass boolean to OnComponentDestroyed that indicates if the entire Actor's hierarchy is being destroyed. If so we can avoid doing a lot of expensive tear down, particularly detaching each component one at a time from the hierarchy and causing massive position/bounds updates.
#rb Zak.Middleton, James.Golding
2016-01-15 13:01:30 -05:00
|
|
|
FFormatNamedArguments Arguments;
|
|
|
|
|
Arguments.Add(TEXT("ControllerDescription"), GetControllerDescription());
|
|
|
|
|
Arguments.Add(TEXT("BoundBoneName"), FText::FromName(Node.BoundBone.BoneName));
|
|
|
|
|
if(Node.bChain)
|
|
|
|
|
{
|
|
|
|
|
Arguments.Add(TEXT("ChainEndBoneName"), FText::FromName(Node.ChainEnd.BoneName));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(TitleType == ENodeTitleType::ListView || TitleType == ENodeTitleType::MenuTitle)
|
|
|
|
|
{
|
|
|
|
|
if(Node.BoundBone.BoneName == NAME_None || (Node.bChain && Node.ChainEnd.BoneName == NAME_None))
|
|
|
|
|
{
|
|
|
|
|
return GetControllerDescription();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(Node.bChain)
|
|
|
|
|
{
|
|
|
|
|
CachedNodeTitles.SetCachedTitle(TitleType, FText::Format(LOCTEXT("AnimDynamicsNodeTitleSmallChain", "{ControllerDescription} - Chain: {BoundBoneName} -> {ChainEndBoneName}"), Arguments), this);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CachedNodeTitles.SetCachedTitle(TitleType, FText::Format(LOCTEXT("AnimDynamicsNodeTitleSmall", "{ControllerDescription} - Bone: {BoundBoneName}"), Arguments), this);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if(Node.bChain)
|
|
|
|
|
{
|
|
|
|
|
CachedNodeTitles.SetCachedTitle(TitleType, FText::Format(LOCTEXT("AnimDynamicsNodeTitleLargeChain", "{ControllerDescription}\nChain: {BoundBoneName} -> {ChainEndBoneName}"), Arguments), this);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CachedNodeTitles.SetCachedTitle(TitleType, FText::Format(LOCTEXT("AnimDynamicsNodeTitleLarge", "{ControllerDescription}\nBone: {BoundBoneName}"), Arguments), this);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return CachedNodeTitles[TitleType];
|
2015-10-06 16:47:09 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UAnimGraphNode_AnimDynamics::PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent)
|
|
|
|
|
{
|
Copying //UE4/Dev-Framework to //UE4/Main @ 2830052
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2807479 on 2015/12/17 by Zak.Middleton
#ue4 - Optimize allocations in FFinalPostProcessSettings. Fix bug skipping an element when updating the ContributingCubemaps array if one is removed during an iteration.
#rb Aaron.Mcleran
#codereview Martin.Mittring
#jira UE-24485
Change 2807695 on 2015/12/17 by Aaron.McLeran
Changing the VolumeScale sound concurrency implementation to be a volume scalar on older sounds in a concurrency group rather than scale new sounds.
#rb zak.middleton
Change 2808628 on 2015/12/18 by Thomas.Sarkanen
Minor optimization: Dont call GetWorld() 3 times in a row in USceneComponent::ShouldRender()
#rb Martin.Wilson
Change 2810090 on 2015/12/21 by Ori.Cohen
Allow collision and trail particles to run off the game thread.
Clean up missing marshelled AsyncComponentToWorld
Change 2814518 on 2016/01/04 by Marc.Audy
Use Reset instead of Empty
Change 2814530 on 2016/01/04 by James.Golding
UE-2689 Hook up lots of new icons for component classes
#rb thomas.sarkanen
Change 2814665 on 2016/01/04 by Marc.Audy
PR #1860:Fix ChildActorComponent linking issue when extended from game (Contributed by lion03)
Change 2814686 on 2016/01/04 by Benn.Gallagher
Fix for radial force components applying impulses multiple times to destructible components
#rb Ori.Cohen
Change 2815221 on 2016/01/04 by Aaron.McLeran
UE-24528 Fixing focus-distance scaling and focus priority scaling working with concurrency settings.
USoundAttenuation:
- Added methods to SoundAttenuation to get focus, attenuation, and distance scale based on focus factor.
- Added NonFocusDistanceScale parameter to attenuation settings customization so its setable by users
USoundBase:
- Added function on USoundBase which checks IsLooping, which checks the duration
- Removed functions IsAudible and IsAudibleSimple from USoundBase since that functionality is accomplished differently and takes into account focus-distance scaling now.
FActiveSound:
- Caching values of FocusPriorityScale and FocusDistanceScale to Active sound so that can be used for audibility checks
- Included FocusDistanceScale when computing bIsAudible in Active sound
- Moved GetAttenuationListenerData and the accompanying private struct FAttenuationListenerData to FAudioDevice since the audio device and moved code which computes focus factor and geometry into FAudioDevice::GetFocusFactor since it needs to be computed before an active sound exist
FAudioDevice:
- Added SoundIsAudible function which queries a particular sound if its audible based on attenuation settings, focus factor, etc. Will optionally return computed MaxDistance to avoid recomputing it in certain cases.
- Added a few helper functions: FindClosestListenerIndex, GetAttenuationListenerData
- Added GetFocusFactor, which performs the vector math to determine focus factor (0.0 is in-focus, 1.0 is out of focus) for a given sound and listener and attenuation focus settings.
- Updated CreateComponent and PlaySoundAtLocation functions to use the new SoundIsAudible function rather than the old IsAudibleSimple
#rb zak.middleton
Change 2815694 on 2016/01/05 by thomas.sarkanen
Added test texture
Change 2815695 on 2016/01/05 by thomas.sarkanen
Modified test texture
Change 2815709 on 2016/01/05 by James.Golding
PR #1778 : New BP-callablle function AActor::WasRecentlyRendered, with optional tolerance in seconds
https://github.com/EpicGames/UnrealEngine/pull/1778
#github 1778
#jira UE-23674
#rb jurre.debaare
Change 2815711 on 2016/01/05 by James.Golding
PR #1534 : Add missing default tolerance value for FVector2D::Equal
https://github.com/EpicGames/UnrealEngine/pull/1534
#github 1534
#jira UE-20838
#rb jurre.debaare
Change 2815714 on 2016/01/05 by James.Golding
PR #1887 : Added 'Thickness' Parameter to all valid options in Draw Debug Helper
https://github.com/EpicGames/UnrealEngine/pull/1887
#github 1887
#jira UE-24802
#rb jurre.debaare
Change 2815725 on 2016/01/05 by James.Golding
Added comment that USkeletalMeshComponent::bEnablePhysicsOnDedicatedServer cannot be changed at runtime
#jira UE-20439
Change 2815813 on 2016/01/05 by Marc.Audy
Move dispatch of transition functions to new OnMatchStateSet virtual which is called from SetMatchState allowing subclasses to insert their own handling between the set of the variable and dispatch to GameState and Blueprints rather than having to override the entire function.
#codereview Peter.Knepley
Change 2815884 on 2016/01/05 by James.Golding
- Avoid PSC iterating over all particle emitters each tick to check for changes in DetailMode. Now remember global DetailMode when we last checked, and only iterate again if that has changed.
- Add 'WarmupTime' and 'CPUCollision' to Asset Registry Tags for Particle Systems
#rb simon.tovey
#codereview gil.gribb
Change 2816306 on 2016/01/05 by Marc.Audy
(4.11) Pass boolean to OnComponentDestroyed that indicates if the entire Actor's hierarchy is being destroyed. If so we can avoid doing a lot of expensive tear down, particularly detaching each component one at a time from the hierarchy and causing massive position/bounds updates.
#rb Zak.Middleton, James.Golding
2016-01-15 13:01:30 -05:00
|
|
|
Super::PostEditChangeProperty(PropertyChangedEvent);
|
|
|
|
|
|
2015-10-06 16:47:09 -04:00
|
|
|
// Regenerate render shape(s)
|
|
|
|
|
EditPreviewShape = FAnimPhysShape::MakeBox(Node.BoxExtents);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UAnimGraphNode_AnimDynamics::DrawAngularLimits(FPrimitiveDrawInterface* PDI, FTransform JointTransform, const FAnimNode_AnimDynamics& NodeToVisualize) const
|
|
|
|
|
{
|
|
|
|
|
FVector XAxis = JointTransform.GetUnitAxis(EAxis::X);
|
|
|
|
|
FVector YAxis = JointTransform.GetUnitAxis(EAxis::Y);
|
|
|
|
|
FVector ZAxis = JointTransform.GetUnitAxis(EAxis::Z);
|
|
|
|
|
|
|
|
|
|
const FVector& MinAngles = NodeToVisualize.ConstraintSetup.AngularLimitsMin;
|
|
|
|
|
const FVector& MaxAngles = NodeToVisualize.ConstraintSetup.AngularLimitsMax;
|
|
|
|
|
FVector AngleRange = MaxAngles - MinAngles;
|
|
|
|
|
FVector Middle = MinAngles + AngleRange * 0.5f;
|
|
|
|
|
|
|
|
|
|
if (AngleRange.X > 0.0f && AngleRange.X < 180.0f)
|
|
|
|
|
{
|
|
|
|
|
FTransform XAxisConeTM(YAxis, XAxis ^ YAxis, XAxis, JointTransform.GetTranslation());
|
|
|
|
|
XAxisConeTM.SetRotation(FQuat(XAxis, FMath::DegreesToRadians(-Middle.X)) * XAxisConeTM.GetRotation());
|
|
|
|
|
DrawCone(PDI, FScaleMatrix(30.0f) * XAxisConeTM.ToMatrixWithScale(), FMath::DegreesToRadians(AngleRange.X / 2.0f), 0.0f, 24, false, FLinearColor::White, GEngine->ConstraintLimitMaterialX->GetRenderProxy(false), SDPG_World);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (AngleRange.Y > 0.0f && AngleRange.Y < 180.0f)
|
|
|
|
|
{
|
|
|
|
|
FTransform YAxisConeTM(ZAxis, YAxis ^ ZAxis, YAxis, JointTransform.GetTranslation());
|
|
|
|
|
YAxisConeTM.SetRotation(FQuat(YAxis, FMath::DegreesToRadians(Middle.Y)) * YAxisConeTM.GetRotation());
|
|
|
|
|
DrawCone(PDI, FScaleMatrix(30.0f) * YAxisConeTM.ToMatrixWithScale(), FMath::DegreesToRadians(AngleRange.Y / 2.0f), 0.0f, 24, false, FLinearColor::White, GEngine->ConstraintLimitMaterialY->GetRenderProxy(false), SDPG_World);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (AngleRange.Z > 0.0f && AngleRange.Z < 180.0f)
|
|
|
|
|
{
|
|
|
|
|
FTransform ZAxisConeTM(XAxis, ZAxis ^ XAxis, ZAxis, JointTransform.GetTranslation());
|
|
|
|
|
ZAxisConeTM.SetRotation(FQuat(ZAxis, FMath::DegreesToRadians(Middle.Z)) * ZAxisConeTM.GetRotation());
|
|
|
|
|
DrawCone(PDI, FScaleMatrix(30.0f) * ZAxisConeTM.ToMatrixWithScale(), FMath::DegreesToRadians(AngleRange.Z / 2.0f), 0.0f, 24, false, FLinearColor::White, GEngine->ConstraintLimitMaterialZ->GetRenderProxy(false), SDPG_World);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UAnimGraphNode_AnimDynamics::PostLoad()
|
|
|
|
|
{
|
|
|
|
|
Super::PostLoad();
|
|
|
|
|
|
|
|
|
|
EditPreviewShape = FAnimPhysShape::MakeBox(Node.BoxExtents);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UAnimGraphNode_AnimDynamics::ResetSim()
|
|
|
|
|
{
|
|
|
|
|
FAnimNode_AnimDynamics* PreviewNode = GetPreviewDynamicsNode();
|
|
|
|
|
if(PreviewNode)
|
|
|
|
|
{
|
|
|
|
|
PreviewNode->RequestInitialise();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FAnimNode_AnimDynamics* UAnimGraphNode_AnimDynamics::GetPreviewDynamicsNode() const
|
|
|
|
|
{
|
|
|
|
|
FAnimNode_AnimDynamics* ActivePreviewNode = nullptr;
|
|
|
|
|
|
|
|
|
|
if(LastPreviewComponent && LastPreviewComponent->GetAnimInstance())
|
|
|
|
|
{
|
|
|
|
|
UAnimInstance* Instance = LastPreviewComponent->GetAnimInstance();
|
|
|
|
|
if(UAnimBlueprintGeneratedClass* Class = Cast<UAnimBlueprintGeneratedClass>(Instance->GetClass()))
|
|
|
|
|
{
|
|
|
|
|
ActivePreviewNode = Class->GetPropertyInstance<FAnimNode_AnimDynamics>(Instance, NodeGuid);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ActivePreviewNode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FReply UAnimGraphNode_AnimDynamics::ResetButtonClicked()
|
|
|
|
|
{
|
|
|
|
|
ResetSim();
|
|
|
|
|
return FReply::Handled();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UAnimGraphNode_AnimDynamics::Serialize(FArchive& Ar)
|
|
|
|
|
{
|
|
|
|
|
Super::Serialize(Ar);
|
|
|
|
|
|
|
|
|
|
Ar.UsingCustomVersion(FAnimationCustomVersion::GUID);
|
|
|
|
|
|
|
|
|
|
const int32 CustomAnimVersion = Ar.CustomVer(FAnimationCustomVersion::GUID);
|
|
|
|
|
|
|
|
|
|
if(CustomAnimVersion < FAnimationCustomVersion::AnimDynamicsAddAngularOffsets)
|
|
|
|
|
{
|
|
|
|
|
FAnimPhysConstraintSetup& ConSetup = Node.ConstraintSetup;
|
|
|
|
|
ConSetup.AngularLimitsMin = FVector(-ConSetup.AngularXAngle_DEPRECATED, -ConSetup.AngularYAngle_DEPRECATED, -ConSetup.AngularZAngle_DEPRECATED);
|
|
|
|
|
ConSetup.AngularLimitsMax = FVector(ConSetup.AngularXAngle_DEPRECATED, ConSetup.AngularYAngle_DEPRECATED, ConSetup.AngularZAngle_DEPRECATED);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|