2022年振り返りと2023年新年抱負

記録大事なのでブログに書いておく。

  • 2022年振り返り

      • 落ち着いてきたので、来年からちょっと頑張るw;
      • スプラ2で瞬間最大でxp2400いけた>w<
      • max87kgから79kgまで減ったw-
        • 伊吹山、剣山、の日本二名山を登頂した
  • 2023年抱負

      • 頑張ったり、よく休める
      • スプラ3でxp2500行きたい
      • Rust言語/blenderツールを日常的に弄るようにする
      • 74kg以下まで落とす

「ドキュメンテーションの集い@大阪 第2回」でUE4スタイルガイド翻訳について発表してきた

 今回の集いのお題が「翻訳」で、手持ちにスタイルガイド翻訳の題材があったので 15分程度のLTで軽く話してきた。

doc-meeting-jp.connpass.com

以下、集いまとめ。

最初

  • 翻訳の品質について
  • 業務としての翻訳ワークフローなど
    • 非ネイティブの書いた曖昧な英語を、想像で日本語に(お客さんの了承とって
    • 翻訳以外も色々(通訳、デザイン中の英語の翻訳(ツールつかって
  • 機械(google)翻訳肯定派の勢力もあるとの事
    • 機械翻訳は、ありえないミスすることもあるので間違い探しだよね的な
      • 意味的に逆になったり

休憩

  • 2017年に使った時よりgoogle翻訳良くはなってる
    • 昔blueprintを青写真って訳してたけど、今はカタカナのブループリントに
    • でも変な誤訳は普通に残ってる(否定する箇所が前後逆で、真逆の意味になってるなど

  • vscode良いよね
    • textlint良さそう

以下、発表資料。

続きを読む

モニターヘッドホン

すぐさま買うとかではないが、 YAMAHA スタジオモニターヘッドホン HPH-MT8が良いモノらしい*1

で、残念ながらスピーカー無しのモニタ買って、すぐさま必要だったけど HPH-MT8に2万円をポンとだす余裕なかったので、5千円代で評判は良かった*2audio-technica モニターヘッドホン ATH-M20xを買ってみたぞいw−

 一先ず最初は長時間付けてたら耳が圧迫で痛くなったけど、馴染んできたのか今は気にならない。
ゲームやるとまあいい感じには聞こえてますけど、これは普通なのか良いのかは、よく分からんw−。

*1:ん、お仕事で使うなら高くはない値段だけどサウンドの人でないので高く見えてしまう><

*2:Amazonの書き込みがどの程度信用できるか微妙なんですけど

「バイキング流UEの使い方 僕のヒーローアカデミア One's Justice 制作事例」適当メモ

 適当メモなので正確性*1は保証しません^^;
あと発表ペースが速かったので、後半メモが力尽きました

# 10:00- 星と翼のパラドクス

登壇者紹介

  橘川 優樹 P
  奥井 健   IyasiP

来月11/21稼働

2レバー2ペダル、専用巨体
8人チーム16人対戦

開発   :30カ月
UE4Ver : 4.9.l1-4.16.3

???VRではないのか

低速移動は、移動方向と椅子の動作は同じ(振り回されている感じが出ないように、わざと
高速移動時のみ、逆方向に動く(Gを体感出来るように

** ue4を用いたキャラクター制作

AActor <- APawn <- **ACharacter**


** マルチプレイで問題




# 11.10- バイキング流「ヒロアカOJ」制作事例

登壇者紹介

  稲田 義信 PL
  瀬田 掃除 PGreat 背景、アニメーション、サウンド

アンリアルエンジン3タイトル目(マジシャン、パラドクス、僕アカで3つ?


製作期間: 14カ月
UE4Ver  : 4.15-4.18.3


PS4,NW(,XboxOne,Steam海外のみ)


販売ナムコ、開発バイキング


- TOC
  - キャラクタシステム
  - 背景の破壊と表示
  - アセットローカライゼイション

## キャラクタシステム

ゲームエンジンアーキテクチャを読んでも1Pでさっと流してる
情報が少ないので(15年作っているが分からんなんも)発表してみる

20体以上
量産出来るように多くを共通化
BPに変わるスクリプトシステム導入
即座に反映できるパラメータ設定機能の作成


キャラクタの個性(専用処理)


## キャラクタ、アクション、ステートマシン

1.通常アクション 待機、移動、ジャンプ、ガード、
2.攻撃アクション 敵にダメージ
3.ダメージアクション


上記3種類のカテゴリを遷移するステートマシンとして実装

  **特にダメージは重要**

  目的:相手を倒す
  方法:攻撃
  結果:ダメージ

  (ダメージは)正解に対するご褒美
  が、対戦ではジレンマ。
  対戦相手にとっては(ダメージは)褒美でなく罰なので
  拘束時間を納得してもらう必要。そのためにダメージアニメーションが重要に


 デクのダメージモーション
   攻撃を受ける、のけ反る、踏ん張る、体制を戻す、待機
                          ↑ここだとテンポ悪い
                                        ↑ので、ここで操作を受け付ける
              <-  スロー可能区間  ->

     アニメーションはそのままで、ダメージの拘束時間を調整
       スロー可能区間、AnimNotifyなどでStart<->End


UObject(UE) <- UActionBase <- UActionBattleBase 
                                                 <- ???UActionControlComponent???
                                                 <-
                                                 <-

## アクション、2つのコンポ―ネットに分離

分割理由、戦闘以外でも、アクションしたいので


 UActionControlComponent(これを差し替えると)
プレイヤーの入力、キャラクターの状態に応じて

  UActionDriveComponent
   キャラクタを実際に動かすため


## アクションの実装

C++
  良い
    デバッグしやすい、早い
  悪い
  コンパイル遅い


 スクリプトはLuaを使用

 テキストベースの言語が欲しい(去年のスクエニ、紙山さんも欲しいと言ってた

C++ 30%
 固定処理、まとまった機能
スクリプト70%
  処理フロー、パラメータ設定、アニメーション設定


共通処理とキャラクター専用処理
 1、通常、ほとんど共通(3キャラ、3アクションのみ専用アクション)
 2、攻撃、専用アクション
 3、ダメージ、共通

パラメータはJson形式
 問題:(プログラマ以外が弄るには)フォーマット厳しい

  通常パラメータはプランナーが弄るので、尾畑さん用Excelツールを作成

   Json -> Excel edit -> save -> Json


  リアルタイム


ActionParam.json
  移動、旋回性能
AttackParam.json
  
Damege.json


## 壁バトル

 壁と

UCharacterMovementComponentは使わず、UpawnMovementComponentを継承した独自クラスを使用

 −>
 −>(独自クラスのため)ACharacterも必然的に使用できない

垂直方向制御

・保管なしに、バシッと壁垂直に切り替える

最後にまとめ。

自由に使えるUE凄い(褒め
Epicさんの公式テキストスクリプト欲しいよ(願い


## 背景の破壊と表示

目標:
 派手に壊れる背景
 それでもゲームとして戦える


ロジックはC++,設定はBP(検証はBPがやっぱり早い)
 
A. 尾畑さん「背景は派手に壊して、でも処理は軽めで」

背景オブジェクト種類
 壊れるオブジェクト
  3種類
   物理モデル
   
 壊れないオブジェクト

物理モデル(DestructibleMesh
 長所
  簡単、リッチな表現
 短所
  重い、4.8.1でプラグインに(そのままフェードアウトする?

アニメーションモデル
 長所
  処理負荷低い(物理に比べて)
  Mayaの物理シミュを利用
 短所
  バリエーションが少なくメモリを圧迫

エフェクトモデル
 長所
  UE4のカスケードで作成
  ランダム性あり
 短所
  物理モデルに比べると単調
  破壊前の形状と会わない


Q. 破壊されるタイミング
A. 尾畑「キャラクタに振れれば破壊でいいのでは」

 破壊前(StaticMesh
 破壊時(3タイプ組み合わせ
  キャラクタの速度と衝撃度をかけた値と、ぶつかった位置

 破壊後(StaticMesh

尾畑「大きなオブジェクトが振れただけで壊れるのはおかしいのでは?」

 すぐこわれないオブジェクトも用意


地面や壁も派手に壊したい
 とりあえず、地面に壊れるパーツを敷き詰める
  処理負荷高い
   壁バトル(壁も壊す必要が

同じオブジェクトを一杯
 InstancedStaticMeshComponent使う

      Game   Draw    GPU
SM    40.5   188.3   93.0
ISM   15.1   3.5     21.1
HISM  14.0   ?       ?

ISM はLODできない
 HirerarchicalInstancedStaticMeshComponentを使う


TODO



破壊後の表示

  HISMを二重化

ゲームを遊んでみると

 尾畑「一回しか破壊出来ないのは物足りない」
  破壊後は変わらないけど、破壊エフェクトは何回でも発生



破壊時のエフェクト
  
  大きなものは複数個所設定したい(StaticMeshにSocketを追加



壁バトルについて

 キャラクタが壁バトル中であることを表現したい
  窓ガラス
    キャラクタが歩くだけで破壊
      窓ガラスが落ちる方向で、重力方向が分かる



背景オブジェクトについて
 ゲームの邪魔にならない用に
  カメラ位置は、1P2Pのキャラクタ位置より


  キャラクタに被ると半透明処理(半透明用のStaticMeshと切り替える
  
 遮蔽チェック
  複数判定の可能性
   LineTrace -> SphereTrace


  影が消える

*** このへんでメモの限界w=。

P.S.
メモが力尽きた以降は、以下togetter辺り等を参考に
https://togetter.com/li/1276894?page=8

エリアチェック

 ステージは

  デバッグはFreezeRendaring便利




アセットローカライゼイション

 ???なんか気付いてたら終わってたw=)

*1:誤字脱字は気にするな^^;

開発ボードメモ

 利用用途の検討チラシ裏w−


CoretexA系 ARMv7/v8

  1. PINE A64 CA53x4 Mem2GB
    1. OS : ubuntu
    2. todo : WebApp (golang / OCaml / Rust)
  2. NanoPi 2 Neo CA53x4 Mem0.5GB
    1. OS : Armbian
    2. todo : ArmbianBuild*1 / lxc
  3. RasberryPi 2 CA7x4 Mem1GB
    1. OS : rasbian
    2. todo : GPGPU
  4. ZYBO Z7(Zynq-7010) CA9x2 Mem1GB
    1. OS :
    2. todo : Vivado / FPGA

マイコン

  1. DE0-Nano
    1. todo : RISC-V(FPGA)
  2. Aurduino
    1. todo : ?
  3. STM32F4
    1. todo : Thumb2
  4. STM32F0
    1. todo :

*1:NFSboot