My scene component spawned in c++ rotates weirdly when it be rotated with gizmo in level editor. Is there any workaround for this?


(Really sorry for the weird accent, I’m not that good at english…)

As you can see in the video, those scene components spawned though different methods work a quite different from each other, and I want to make it rotates without moving in the air weirdly like that.

I’m almost sure that this is a bug with the engine, and I want to know if there is any workaround for this problem. Please share your experience about this situation…

Here is the code that I used to spawn those components via c++ :

if (USpineRigBoneDriverComponent* BoneDriverComp = NewObject<USpineRigBoneDriverComponent>(this, CompName)) {

									FTransform Transform = TargetComponent->GetSkeletonAnimationComp()->GetBoneWorldTransform(TCHAR_TO_UTF8(*BoneNameString));

									FAttachmentTransformRules Rule = FAttachmentTransformRules::KeepWorldTransform;

									BoneDriverComp->BoneName = BoneNameString;

									//Setting for collision stabilization
									BoneDriverComp->BodyInstance.PositionSolverIterationCount = 32;
									BoneDriverComp->BodyInstance.VelocitySolverIterationCount = 4;

									BoneDriverComp->BodyInstance.bUseCCD = true;
									BoneDriverComp->BodyInstance.CustomSleepThresholdMultiplier = 3;
									BoneDriverComp->BodyInstance.StabilizationThresholdMultiplier = 3;

									BoneDriverComp->AttachToComponent(this, Rule);

									RigBoneDrivers.Add(Bone, BoneDriverComp);