主なコンテンツ

〜主なコンテンツ〜

1. Unityで製作したゲームと製作Tips
  1. 三月精チャレンジ(東方Project二次創作)
    1. 作り方
  2. 英語学習2D(オリジナルスマホアプリ)
2. UE4
3. ゲームアプリ見学
4. Bitbucket & SourceTreeでの一連の流れ
  1. 前半
  2. 後半
5. Tips
  1. UnityのTips
  5. SQL文のTips
  6. Final IK
  7. GearVR+Unity

2017年4月19日水曜日

UE4プログラミング学習Battery Collector編(その2)

#第11~21回

  • BlueprintImplementableEventは、cppに関数の実態を定義しなくても良い模様
    • イベントグラフに配置できるようになる
  • GetMaterialとGetMaterialsは別物
  • ~GameModeのTickが呼ばれない
    • ProjectSettings、WorldSettings共にGameModeの設定は合っている模様
    • PrimaryActorTick.bCanEverTick = true; が要る模様参考
      • GameModeもActorを継承しているので、PrimaryActorTick.bCanEverTickが使える
      • 動画の~GameModeの親クラスはAGameModeだが、今はGameModeBaseになっている
  • ゲームタイトルのヘッダーの#includeをEnginMinimal.h→Engin.hに変える
  • BatteryCollectorGameMode.hでCurrentWidgetにUPROPERTY()を使うが、外部から操作しないのでキーワードの指定は不要とのこと
  • UI配置時のAlignmentがUnityのpivotに当たるもの

    • 純粋キャストに変換する
      • 成功するのが確かなキャストなら純粋キャストの方が見やすい(参考

    • HUDを作ったらGameModeに登録することで表示する
    • ~GameMode.hにenumを足すが、コンパイルが通らない
      • これもAnswerhubで質問が上がっており、enumのクラス名の横に:unit8を付ける(参考
    • UMGのテキストはSizeToContentにチェックを入れると自動調整となる(参考
      • 動画だとさらっとやるので見落としがち
    • ゲームオーバー時にプレイヤーの入力を遮断する方法として、SetCinematicModeを使っている。これについてあまり情報がないが、HUDなども非表示にできる。
      • GameModeと紐づいている?
    • ゲームオーバー時にキャラクターが崩れ落ちる(英語ではラグドールになると言う)のは、BatteryCollectorGameMode.cppに追加したmycharacter->getmesh()->setsimulatephysics(true)によるもの。
    // ragdoll the character
       ACharacter* MyCharacter = UGameplayStatics::GetPlayerCharacter(this, 0);
       if (MyCharacter)
       {
        MyCharacter->GetMesh()->SetSimulatePhysics(true);
        MyCharacter->GetMovementComponent()->MovementState.bCanJump = false;
       }
    • ラグドールになった際、床をすり抜けないようにするにはBPのMeshのCollisionを次のように変更する
    • skeletal mesh(骨格メッシュ)には物理アセットを割り当てることができ、物理シミュレーション時にはこの設定が使用される。今使用しているキャラクターは物理アセットを持っていないので、それを持たせる。
    • SK_Mannequinに物理アセットを新規作成する際、「作成」と「作成と割り当て」の2種類が表示される。今回は「作成と割り当て」を選ぶと良い。

      0 件のコメント:

      コメントを投稿