Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
            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));;
            }
        }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
            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)));
            }
        }
Ejemplo n.º 5
0
            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));;
            }
        }
Ejemplo n.º 6
0
            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)));
            }
        }
Ejemplo n.º 7
0
            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)));
            }
        }
Ejemplo n.º 8
0
            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)));
            }
        }
Ejemplo n.º 9
0
        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");
        }
Ejemplo n.º 10
0
 internal bool on_Received_NotifyBegin(SkeletalMeshComponent MeshComp, AnimSequenceBase Animation, float TotalDuration, bool ReturnValue) =>
 Received_NotifyBegin != null?Received_NotifyBegin(MeshComp, Animation, TotalDuration, ReturnValue) : ReturnValue;
Ejemplo n.º 11
0
 internal ParticleSystem on_OverridePSTemplate(SkeletalMeshComponent MeshComp, AnimSequenceBase Animation, ParticleSystem ReturnValue) =>
 OverridePSTemplate != null?OverridePSTemplate(MeshComp, Animation, ReturnValue) : ReturnValue;
Ejemplo n.º 12
0
 ///<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);
Ejemplo n.º 13
0
 ///<summary>Get Socket Location</summary>
 public Vector GetSocketLocation(SkeletalMeshComponent SkelComp) =>
 SkeletalMeshSocket_methods.GetSocketLocation_method.Invoke(ObjPointer, SkelComp);
Ejemplo n.º 14
0
 ///<summary>Copy Pose from Skeletal Component</summary>
 public void CopyPoseFromSkeletalComponent(SkeletalMeshComponent InComponentToCopy) =>
 PoseableMeshComponent_methods.CopyPoseFromSkeletalComponent_method.Invoke(ObjPointer, InComponentToCopy);
Ejemplo n.º 15
0
 ///<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);
Ejemplo n.º 16
0
 internal bool on_Received_Notify(SkeletalMeshComponent MeshComp, AnimSequenceBase Animation, bool ReturnValue) =>
 Received_Notify != null?Received_Notify(MeshComp, Animation, ReturnValue) : ReturnValue;
Ejemplo n.º 17
0
        public SkeletalMeshActor()
        {
            SkeletalMeshComponent = new SkeletalMeshComponent(Vector3.Zero);

            AttachComponent(SkeletalMeshComponent);
        }
Ejemplo n.º 18
0
 internal bool on_Received_NotifyTick(SkeletalMeshComponent MeshComp, AnimSequenceBase Animation, float FrameDeltaTime, bool ReturnValue) =>
 Received_NotifyTick != null?Received_NotifyTick(MeshComp, Animation, FrameDeltaTime, ReturnValue) : ReturnValue;
Ejemplo n.º 19
0
 ///<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);
Ejemplo n.º 20
0
 ///<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);
Ejemplo n.º 21
0
 ///<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);