public static void OnBeginPlay() { Debug.Log(LogLevel.Display, "Hello, Unreal Engine!"); Debug.AddOnScreenMessage(-1, 3.0f, Color.LightGreen, MethodBase.GetCurrentMethod().DeclaringType + " system started!"); World.GetFirstPlayerController().SetViewTarget(World.GetActor <Camera>("MainCamera")); Actor kachujin = new Actor("Kachujin"); SkeletalMeshComponent kachujinSkeletalMeshComponent = new SkeletalMeshComponent(kachujin); SkeletalMesh kachujinSkeletalMesh = SkeletalMesh.Load("/Game/Tests/Characters/Kachujin/SkeletalMesh"); kachujinSkeletalMeshComponent.SetSkeletalMesh(kachujinSkeletalMesh); kachujinSkeletalMeshComponent.SetWorldLocation(new Vector3(-70.0f, -100.0f, -700.0f)); kachujinSkeletalMeshComponent.SetWorldRotation(Maths.Euler(0.0f, 90.0f, 0.0f)); kachujinSkeletalMeshComponent.SetAnimationMode(AnimationMode.Asset); kachujinSkeletalMeshComponent.PlayAnimation(AnimationSequence.Load("/Game/Tests/Characters/Kachujin/AnimationSequenceSwordSwing"), true); Actor ganfault = new Actor("Ganfault"); SkeletalMeshComponent ganfaultSkeletalMeshComponent = new SkeletalMeshComponent(ganfault); SkeletalMesh ganfaultSkeletalMesh = SkeletalMesh.Load("/Game/Tests/Characters/Ganfault/SkeletalMesh"); ganfaultSkeletalMeshComponent.SetSkeletalMesh(ganfaultSkeletalMesh); ganfaultSkeletalMeshComponent.SetWorldLocation(new Vector3(70.0f, -100.0f, -700.0f)); ganfaultSkeletalMeshComponent.SetWorldRotation(Maths.Euler(0.0f, 90.0f, 0.0f)); ganfaultSkeletalMeshComponent.SetAnimationMode(AnimationMode.Asset); ganfaultSkeletalMeshComponent.PlayAnimation(AnimationMontage.Load("/Game/Tests/Characters/Ganfault/AnimationMontage"), true); }
internal static unsafe void Invoke(IntPtr obj, SkeletalMeshComponent InComponentToCopy) { long *p = stackalloc long[] { 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = InComponentToCopy; Main.GetProcessEvent(obj, CopyPoseFromSkeletalComponent_ptr, new IntPtr(p));; } }
public BlueprintsExtensibility() { blueprintActor = Blueprint.Load("/Game/Tests/BlueprintActor"); blueprintSceneComponent = Blueprint.Load("/Game/Tests/BlueprintSceneComponent"); actor = new Actor(blueprint: blueprintActor); sceneComponent = new SceneComponent(actor, blueprint: blueprintSceneComponent); levelScript = World.GetActor <LevelScript>(); skeletalMeshComponent = actor.GetComponent <SkeletalMeshComponent>(); animationInstance = skeletalMeshComponent.GetAnimationInstance(); }
internal static unsafe Vector Invoke(IntPtr obj, SkeletalMeshComponent SkelComp) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = SkelComp; Main.GetProcessEvent(obj, GetSocketLocation_ptr, new IntPtr(p));; return(*((Vector *)(b + 8))); } }
internal static unsafe void Invoke(IntPtr obj, SkeletalMeshComponent SkelComp, Vector WorldLocation, Vector WorldNormal) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = SkelComp; *((Vector *)(b + 8)) = WorldLocation; *((Vector *)(b + 20)) = WorldNormal; Main.GetProcessEvent(obj, InitializeSocketFromLocation_ptr, new IntPtr(p));; } }
internal static unsafe Vector Invoke(SkeletalMeshComponent Component, Name SocketOrBoneNameFrom, Name SocketOrBoneNameTo) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = Component; *((Name *)(b + 8)) = SocketOrBoneNameFrom; *((Name *)(b + 20)) = SocketOrBoneNameTo; Main.GetProcessEvent(KismetAnimationLibrary.DefaultObject, K2_DirectionBetweenSockets_ptr, new IntPtr(p));; return(*((Vector *)(b + 32))); } }
internal static unsafe PlayMontageCallbackProxy Invoke(SkeletalMeshComponent InSkeletalMeshComponent, AnimMontage MontageToPlay, float PlayRate, float StartingPosition, Name StartingSection) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = InSkeletalMeshComponent; *((IntPtr *)(b + 8)) = MontageToPlay; *((float *)(b + 16)) = PlayRate; *((float *)(b + 20)) = StartingPosition; *((Name *)(b + 24)) = StartingSection; Main.GetProcessEvent(PlayMontageCallbackProxy.DefaultObject, CreateProxyObjectForPlayMontage_ptr, new IntPtr(p));; return(*((IntPtr *)(b + 40))); } }
internal static unsafe float Invoke(SkeletalMeshComponent Component, Name SocketOrBoneNameA, byte SocketSpaceA, Name SocketOrBoneNameB, byte SocketSpaceB, bool bRemapRange, float InRangeMin, float InRangeMax, float OutRangeMin, float OutRangeMax) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = Component; *((Name *)(b + 8)) = SocketOrBoneNameA; *(b + 20) = SocketSpaceA; *((Name *)(b + 24)) = SocketOrBoneNameB; *(b + 36) = SocketSpaceB; *((bool *)(b + 37)) = bRemapRange; *((float *)(b + 40)) = InRangeMin; *((float *)(b + 44)) = InRangeMax; *((float *)(b + 48)) = OutRangeMin; *((float *)(b + 52)) = OutRangeMax; Main.GetProcessEvent(KismetAnimationLibrary.DefaultObject, K2_DistanceBetweenTwoSocketsAndMapRange_ptr, new IntPtr(p));; return(*((float *)(b + 56))); } }
public static void OnBeginPlay() { Debug.AddOnScreenMessage(-1, 3.0f, Color.LightGreen, MethodBase.GetCurrentMethod().DeclaringType + " system started!"); World.GetFirstPlayerController().SetViewTarget(World.GetActor <Camera>("MainCamera")); SkeletalMesh prototypeMesh = SkeletalMesh.Load("/Game/Tests/Characters/Prototype"); Actor leftPrototype = new Actor("leftPrototype"); SkeletalMeshComponent leftSkeletalMeshComponent = new SkeletalMeshComponent(leftPrototype); leftSkeletalMeshComponent.SetSkeletalMesh(prototypeMesh); leftSkeletalMeshComponent.SetWorldLocation(new Vector3(-700.0f, -70.0f, -100.0f)); leftSkeletalMeshComponent.SetWorldRotation(Maths.Euler(0.0f, 0.0f, 90.0f)); leftSkeletalMeshComponent.SetAnimationMode(AnimationMode.Asset); leftSkeletalMeshComponent.PlayAnimation(AnimationSequence.Load("/Game/Tests/Characters/Animations/IdleAnimationSequence"), true); Assert.IsTrue(leftSkeletalMeshComponent.IsPlaying); Assert.IsTrue(leftSkeletalMeshComponent.GetBoneName(0) == "root"); Actor rightPrototype = new Actor("rightPrototype"); SkeletalMeshComponent rightSkeletalMeshComponent = new SkeletalMeshComponent(rightPrototype); rightSkeletalMeshComponent.SetSkeletalMesh(prototypeMesh); rightSkeletalMeshComponent.SetWorldLocation(new Vector3(-700.0f, 70.0f, -100.0f)); rightSkeletalMeshComponent.SetWorldRotation(Maths.Euler(0.0f, 0.0f, 90.0f)); rightSkeletalMeshComponent.SetAnimationMode(AnimationMode.Asset); rightSkeletalMeshComponent.CreateAndSetMaterialInstanceDynamic(0).SetVectorParameterValue("AccentColor", new LinearColor(0.0f, 0.5f, 1.0f)); AnimationMontage rightPrototypeAnimationMontage = AnimationMontage.Load("/Game/Tests/Characters/Animations/RunAnimationMontage"); rightSkeletalMeshComponent.PlayAnimation(rightPrototypeAnimationMontage, true); AnimationInstance rightPrototypeAnimationInstance = rightSkeletalMeshComponent.GetAnimationInstance(); Assert.IsTrue(rightPrototypeAnimationInstance.IsPlaying(rightPrototypeAnimationMontage)); Assert.IsTrue(rightSkeletalMeshComponent.GetBoneName(0) == "root"); }
internal bool on_Received_NotifyBegin(SkeletalMeshComponent MeshComp, AnimSequenceBase Animation, float TotalDuration, bool ReturnValue) => Received_NotifyBegin != null?Received_NotifyBegin(MeshComp, Animation, TotalDuration, ReturnValue) : ReturnValue;
internal ParticleSystem on_OverridePSTemplate(SkeletalMeshComponent MeshComp, AnimSequenceBase Animation, ParticleSystem ReturnValue) => OverridePSTemplate != null?OverridePSTemplate(MeshComp, Animation, ReturnValue) : ReturnValue;
///<summary>Sets BoneName, RelativeLocation and RelativeRotation based on closest bone to WorldLocation and WorldNormal</summary> public void InitializeSocketFromLocation(SkeletalMeshComponent SkelComp, Vector WorldLocation, Vector WorldNormal) => SkeletalMeshSocket_methods.InitializeSocketFromLocation_method.Invoke(ObjPointer, SkelComp, WorldLocation, WorldNormal);
///<summary>Get Socket Location</summary> public Vector GetSocketLocation(SkeletalMeshComponent SkelComp) => SkeletalMeshSocket_methods.GetSocketLocation_method.Invoke(ObjPointer, SkelComp);
///<summary>Copy Pose from Skeletal Component</summary> public void CopyPoseFromSkeletalComponent(SkeletalMeshComponent InComponentToCopy) => PoseableMeshComponent_methods.CopyPoseFromSkeletalComponent_method.Invoke(ObjPointer, InComponentToCopy);
///<summary>K2 Distance Between Two Sockets and Map Range</summary> public static float K2_DistanceBetweenTwoSocketsAndMapRange(SkeletalMeshComponent Component, Name SocketOrBoneNameA, byte SocketSpaceA, Name SocketOrBoneNameB, byte SocketSpaceB, bool bRemapRange, float InRangeMin, float InRangeMax, float OutRangeMin, float OutRangeMax) => KismetAnimationLibrary_methods.K2_DistanceBetweenTwoSocketsAndMapRange_method.Invoke(Component, SocketOrBoneNameA, SocketSpaceA, SocketOrBoneNameB, SocketSpaceB, bRemapRange, InRangeMin, InRangeMax, OutRangeMin, OutRangeMax);
internal bool on_Received_Notify(SkeletalMeshComponent MeshComp, AnimSequenceBase Animation, bool ReturnValue) => Received_Notify != null?Received_Notify(MeshComp, Animation, ReturnValue) : ReturnValue;
public SkeletalMeshActor() { SkeletalMeshComponent = new SkeletalMeshComponent(Vector3.Zero); AttachComponent(SkeletalMeshComponent); }
internal bool on_Received_NotifyTick(SkeletalMeshComponent MeshComp, AnimSequenceBase Animation, float FrameDeltaTime, bool ReturnValue) => Received_NotifyTick != null?Received_NotifyTick(MeshComp, Animation, FrameDeltaTime, ReturnValue) : ReturnValue;
///<summary>Called to perform the query internally</summary> public static PlayMontageCallbackProxy CreateProxyObjectForPlayMontage(SkeletalMeshComponent InSkeletalMeshComponent, AnimMontage MontageToPlay, float PlayRate, float StartingPosition, Name StartingSection) => PlayMontageCallbackProxy_methods.CreateProxyObjectForPlayMontage_method.Invoke(InSkeletalMeshComponent, MontageToPlay, PlayRate, StartingPosition, StartingSection);
///<summary>Sets the skeletal mesh we are driving through physical animation. Will erase any existing physical animation data.</summary> public void SetSkeletalMeshComponent(SkeletalMeshComponent InSkeletalMeshComponent) => PhysicalAnimationComponent_methods.SetSkeletalMeshComponent_method.Invoke(ObjPointer, InSkeletalMeshComponent);
///<summary>K2 Direction Between Sockets</summary> public static Vector K2_DirectionBetweenSockets(SkeletalMeshComponent Component, Name SocketOrBoneNameFrom, Name SocketOrBoneNameTo) => KismetAnimationLibrary_methods.K2_DirectionBetweenSockets_method.Invoke(Component, SocketOrBoneNameFrom, SocketOrBoneNameTo);