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

Warning: Declaration of syntax_plugin_linebreak::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/stepism/www/ue4/wiki/lib/plugins/linebreak/syntax.php on line 52

Warning: Declaration of syntax_plugin_linebreak::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/stepism/www/ue4/wiki/lib/plugins/linebreak/syntax.php on line 74

Warning: Declaration of syntax_plugin_syntaxhighlighter3_syntax::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/stepism/www/ue4/wiki/lib/plugins/syntaxhighlighter3/syntax/syntax.php on line 53

Warning: Declaration of syntax_plugin_syntaxhighlighter3_syntax::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/stepism/www/ue4/wiki/lib/plugins/syntaxhighlighter3/syntax/syntax.php on line 82

差分

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

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

次のリビジョン
前のリビジョン
wiki:ue4:tips:503 [2015/04/24 05:54]
127.0.0.1 外部編集
wiki:ue4:tips:503 [2015/04/25 06:21] (現在)
step
ライン 3: ライン 3:
  
  
-===== ブループリントで対応する ​=====+===== ブループリント版 =====
  
 レベルブループリントを開いてアクター生成処理を追加します。 レベルブループリントを開いてアクター生成処理を追加します。
ライン 20: ライン 20:
  
  
-===== CPP対応する =====+===== C++版 ===== 
 +  - 「コンテンツブラウザ」の「新規追加」から「新規C++ Class…」を選択する。 
 +  - 親クラスに「Game Mode」を選択して次へ。 
 +  - 名前を「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>​ 
 + 
 +#include "​MyActor.h"​ // アクター使用 
 + 
 +void AMyGameMode::​BeginPlay() 
 +
 + Super::​BeginPlay();​ 
 + 
 + UWorld* const pWorld = GetWorld();​ 
 + if (pWorld) 
 +
 + FVector spawnPos = FVector(0.0f,​ 0.0f, 0.0f); 
 + FRotator spawnRot = FRotator::​ZeroRotator;​ 
 + 
 + AMyActor* pNewActor = pWorld->​SpawnActor<​AMyActor>​( 
 + AMyActor::​StaticClass(),​ 
 + spawnPos,​ 
 + spawnRot);​ 
 +
 +
 + 
 +</​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>​ 
 +これで表示されます。MeshObjに渡すファイルパスは頭に「/​Game」を付けないとロードされないので注意すること。 
wiki/ue4/tips/503.1429854895.txt.gz · 最終更新: 2015/04/24 12:39 (外部編集)