Warning: Declaration of action_plugin_linebreak::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler $controller) in /home/stepism/www/ue4/wiki/lib/plugins/linebreak/action.php on line 41

Warning: Declaration of action_plugin_markdownextra::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler $controller) in /home/stepism/www/ue4/wiki/lib/plugins/markdownextra/action.php on line 16

Warning: Declaration of action_plugin_syntaxhighlighter3_action::register(Doku_Event_Handler &$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler $controller) in /home/stepism/www/ue4/wiki/lib/plugins/syntaxhighlighter3/action/action.php on line 28
アクターの生成(4.7.5) [stepism@UE4メモ]

ユーザ用ツール

サイト用ツール


wiki:ue4:tips:503

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
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」を付けないとロードされないので注意すること。
  
wiki/ue4/tips/503.1429932780.txt.gz · 最終更新: 2015/04/25 03:33 by step