[過去ログ] 【UE4】Unreal Engine 4 初心者質問スレッド part6 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
21
(1): 名前は開発中のものです。 [sage] 2019/05/13(月) 10:06:35.08 ID:TsKXIAao(1) AAS
>>20
20(1): 名前は開発中のものです。 [] 2019/05/12(日) 20:21:58.37 ID:AIgqL2HM(1) AAS
C++で剣のアクタのルートコンポーネントにシーンコンポ―ネントを指定して、
そのシーンコンポ―ネントに、スタティックメッシュをアタッチしたんですが、
Characterのクラスから、SpawnActorでソケットを指定してスポーンしようとすると、
ワールド座標のオリジンに、剣のアクタがスポーンされてしまいます。
ルートコンポーネントにスタティックメッシュを指定した場合、
意図通りソケットの位置にスポーンされます。
これは何が原因なんでしょうか?

//Sword.cpp
RootSceneComp = CreateDefaultSubobject<USceneComponent>(TEXT("RootSceneComp"));
SetRootComponent(RootSceneComp);
SwordMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("SwordMesh"));
SwordMesh->SetupAttachment(RootSceneComp);

//MyCharacter.h
UPROPERTY(EditDefaultsOnly, Category = "Weapon")
TSubclassOf<ASword> SwordBP;
ASword* SwordInstance;

//MyCharacter.cpp
SwordInstance = GetWorld()->SpawnActor<ASword>(SwordBP);
SwordInstance ->AttachToComponent(GetMesh(), FAttachmentTransformRules(EAttachmentRule::SnapToTarget, true), TEXT("SwrodGripPoint"));
これでやってみて
AttachToComponent(GetMesh(), FAttachmentTransformRules::KeepRelativeTransform, SocketName);
22: 名前は開発中のものです。 [sage] 2019/05/13(月) 21:59:24.91 ID:hPUx4Idt(1) AAS
>>21
それだけでは変わらなかってのですが、
KeepRelativeTransformへ変更、
ルートコンポーネントをSwordMeshに、
SwordMeshにUPROPERTY(EditDefaultsOnly)を設定して
BP_SwordのEditorでMeshのトランスフォームをいじれば、
シーンコンポーネントを使わなくても、Meshのトランスフォームを変更するという目的を達成できました。
ありがとうございました。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s