この文書の現在のバージョンと選択したバージョンの差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
wiki:ue4:tips:503 [2015/04/25 03:33] step |
wiki:ue4:tips:503 [2015/04/25 06:21] (現在) step |
||
|---|---|---|---|
| ライン 24: | ライン 24: | ||
| - 親クラスに「Game Mode」を選択して次へ。 | - 親クラスに「Game Mode」を選択して次へ。 | ||
| - 名前を「MyGameMode」として「クラスを作成」する。 | - 名前を「MyGameMode」として「クラスを作成」する。 | ||
| + | |||
| + | <sxh cpp; title: AMyGameMode.h> | ||
| + | class MYPROJECT_API AMyGameMode : public AGameMode | ||
| + | { | ||
| + | GENERATED_BODY() | ||
| + | |||
| + | private: | ||
| + | virtual void BeginPlay() override; // 追加 | ||
| + | }; | ||
| + | </sxh> | ||
| + | BeginPlay 関数をオーバーライドして、その中に生成処理を追加します。 | ||
| <sxh cpp; title: AMyGameMode.cpp> | <sxh cpp; title: AMyGameMode.cpp> | ||
| + | |||
| + | #include "MyActor.h" // アクター使用 | ||
| + | |||
| void AMyGameMode::BeginPlay() | void AMyGameMode::BeginPlay() | ||
| { | { | ||
| ライン 43: | ライン 57: | ||
| } | } | ||
| + | </sxh> | ||
| + | この時点でワールドアウトライナーに追加すると空のアクターが生成されます。 | ||
| + | 次にメッシュを生成し設定します。 | ||
| + | |||
| + | まずアクターに必要なメンバーを用意して | ||
| + | <sxh cpp; title: AMyActor.h> | ||
| + | USceneComponent* DummyRoot; | ||
| + | TSubobjectPtr<UStaticMeshComponent> MeshComp; | ||
| + | </sxh> | ||
| + | |||
| + | |||
| + | ファイルを読み込んで、コンポーネントとしてアクターにアタッチする。 | ||
| + | <sxh cpp; title: AMyActor.cpp> | ||
| + | // コンストラクタ | ||
| + | AMyActor::AMyActor() | ||
| + | { | ||
| + | PrimaryActorTick.bCanEverTick = true; | ||
| + | |||
| + | RunningTime = 0.0f; | ||
| + | |||
| + | // ダミーのルートコンポーネントを追加 | ||
| + | DummyRoot = CreateDefaultSubobject<USceneComponent>(TEXT("RootComponent")); | ||
| + | RootComponent = DummyRoot; | ||
| + | |||
| + | // メッシュコンポーネント作成 | ||
| + | MeshComp = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh")); | ||
| + | |||
| + | // メッシュデータ読み込み | ||
| + | const ConstructorHelpers::FObjectFinder<UStaticMesh> MeshObj(TEXT("/Game/StarterContent/Shapes/Shape_Cylinder")); | ||
| + | |||
| + | // メッシュ設定 | ||
| + | MeshComp->SetStaticMesh(MeshObj.Object); | ||
| + | |||
| + | // ルートコンポーネントにアタッチの | ||
| + | MeshComp->AttachTo(RootComponent); | ||
| + | } | ||
| </sxh> | </sxh> | ||
| + | これで表示されます。MeshObjに渡すファイルパスは頭に「/Game」を付けないとロードされないので注意すること。 | ||