ラベル UnrealEngine の投稿を表示しています。 すべての投稿を表示
ラベル UnrealEngine の投稿を表示しています。 すべての投稿を表示

「Unreal Engine 4で極めるゲーム開発」のtypoメモ(その1)

2016年5月5日木曜日


去年買ってざっと目を通し、「これは良書だ!!」と確信しつつもきちんとハンズオンで読み進めてはいなかった"極める本"です。
そろそろ購入から1年経ってしまうなーというタイミングでいわゆるゴールデンウィークに当たったので、せっせと読み進めてみました。
確信の通り、本当に良書です。3Dゲーム開発で必要なポイントを分かりやすく説明しつつ、UE4の便利機能もマメに紹介していく構成です。手を動かしながら読み終わった後には「あー、あれどうやるんだっけ」と迷った時に振り返って読める逆引き本にもなります。
ボリュームが約600ページと半端ないので、校正しきれなかったらしい箇所がぽつぽつと見受けられました。ワンチャン次刷あたりで直ると良いなーとの思いを込めて、見つけた誤記のメモを公開します。ひょっとすると第2刷でサイレント更新されている箇所があるかもしれません。
内容は初版第1刷(2015年7月25日と奥付に記載)ベースです。本書のサポートページは2016年4月15日改訂状態まで一通り確認しました。
p.374までメモを書いて一旦心が折れたのでここまで。残200ページは改めてメモを書きます。

第1部 はじめに

第1章 p.1

  • 昨日トピックごとに → 機能トピックごとに

第2部 プロトタイピング

第6章 p.63

  • そのルール基づいて → そのルールに基づいて

第7章 p.86

  • Prop\Mesh\ → Props\Meshes\ (※2箇所)

第9章 p.148 コラム

  • Poc → PoC

第10章 p.153

  • プロジェクトの設定 → プロジェクト設定

第10章 p.161

  • アセットツリーで[Game > Blueprints] → アセットツリーで[コンテンツ > Blueprints] (※日本語UIなので)

第10章 p.163

  • アセットツリーで[Game > Blueprints] → アセットツリーで[コンテンツ > Blueprints] (※日本語UIなので)
  • Bluneprint → Blueprint

第10章 p.165

  • コンポーネントを追加 → コンポーネントの追加

第11章 p.172

  • 画面に文字を出力された→画面に文字が出力された

第11章 p.179

  • 図11.25の(2)でPMShurikenActorと書かれているが、正しくはPNShurikenActor(本文に従う)

第11章 p.180

  • 下から7行目 Transormation → Transformation

第11章 p.185

  • 下から6行目 ProijectileMovement → ProjectileMovement

第12章 p.195

  • キーボードの[W][A]で → キーボードの[W][S]で

第12章 p.201

  • 図12.29 キャプション Add Contorller Pitch Input → Add Controller Pitch Input

第12章 p.204

  • 左サムティック → 左サムスティック

第13章 p.211

  • T_Ninja01_D → T_Ninja_D

第14章 p.222

  • ボーンに適用 → ボーンに適応
  • コリジョン形状 → コリジョンジオメトリ

第14章 p.231

  • 追加したボックスをの → 追加したボックスの

第14章 p.233

  • ツールバーで[選択されたシミュレーション]を → ツールバーで[選択したシミュレーション]を

第14章 p.236

  • コラム中の図14.38 赤枠をつける対象はPhysics AssetではなくEnable Per Poly Collisionのはず

第16章 p.255

  • タイミングの違いよって → タイミングの違いによって

第16章 p.262

  • 役不足 → 力不足

第16章 p.263

  • Box Exntent → Box Extent

第17章 p.274

  • 標準で用意た → 標準で用意した

第17章 p.278

  • ドアが空いたり → ドアが開いたり

第17章 p.279

  • まずは、新規テストマップを作るところから開始します。 → (※ここでは新規テストマップを作らないので記述自体不要そう)

第18章 p.291

  • コラム中ほどの文頭: ます。トランスフォームは → トランスフォームは (※前段落の末尾からの流れで混入したぽい)
  • コラム中ほどの文中: ~の3つ情報を → ~の3つの情報を

第18章 p.298

  • [コンテンツ>Bluprints] → [コンテンツ>Blueprints]

第18章 p.301

  • コラム Route → Reroute (※本文に3箇所、絵解きに1箇所)

第18章 p.302

  • [FloorSwitch02] → [Fusuma02 Switch] (※サポートページに手順不足の記載があるが、それとは別)

第19章 p.309

  • [InputAction Sprit] → [InputAction Sprint]

第19章 p.312

  • 新しい変数を追加します。 → 新しい関数を追加します。

第19章 p.314

  • 図19.25中 PawnをPownとtypo

第19章 p.319

  • [Utilities]>[Timer] → [Utilities]>[Time]

第19章 p.323

  • サブルーチンと関数は → カスタムイベントと関数は

第20章 p.337

  • Fricition → Friction

第20章 p.341

  • Note見出し [Set Simulated Physics]ノード → [Set Simulate Physics]ノード

第20章 p.342

  • 動作を切り替えてることで、 → 動作を切り替えることで、

第20章 p.346

  • Add ImpulseのNote本文 座標や骨の指定して → 座標や骨を指定して

第20章 p.348

  • [Angle]入力ピン → [Angle Deg]入力ピン

第21章 p.357

  • Vechile → Vehicle

第21章 p.363

  • [Collision Enable] → [Collision Enabled]

第21章 p.366

  • [SK_Ninja_Skeltone] → [SK_Ninja_Skeleton]
  • [Pikcup] → [Pickup]

第21章 p.367

  • Charactes\Mesh → Characters\Meshes

第21章 p.368

  • Bluepritns → Blueprints

第21章 p.369

  • [ブロック] → [Block]

第21章 p.370

  • [InvinsibleWall] → [InvisibleWall] (※2箇所)
  • 図21.23 絵解き [InvisinbleWall] → [InvisibleWall]

第21章 p.374

  • サポートページの訂正記述ミス: これに伴い、図20.5も訂正いたします → これに伴い、図21.29も訂正いたします

Unreal Engine 4 ビデオチュートリアル記 #6

2015年10月24日土曜日

前回: Unreal Engine 4 ビデオチュートリアル記 #5
前回はゲームの機能群をBlueprintable Componentsへと切り分ける方法という話だった。UnityのPrefabっぽいものをワークフローへどのように組み込んでいくかという話で、実際に使っていかないと身につかないんだろうなという感じがした。

Blueprintでエンドレスラン系ゲームを作る #1

https://wiki.unrealengine.com/Videos/Player?series=PLZlv_N0_O1gbY4FN8pZuEPVC9PzQThNn1のランゲー作成をやってみる。Temple Runみたいなやつ。
  • ユーザは固定位置で走っていく
  • 障害物を避けたりアイテムを取ったりする
  • コースはどんどん自動生成する

イントロ

今回はイントロということで初期設定などの話。
12分ぐらい。
Third Personのテンプレートからプロジェクトを新規作成する。
このチュートリアルが収録された頃にはまだブルーマンだったんだなぁと思いながら作成(図1)。
図1 ブルーでなくなってしまったマン
続いて、キャラクターのBPを開いてゴリゴリといじっていく。
デフォルトで生成されているBPのうちで今回不要な分を削除していく。固定位置のランゲーを作るのでGamepad、タッチ入力、マウス制御が不要ということで削除。
キー入力イベントからRotatorをいじって指定時間かけて指定角度の回転をおこなうあたりはイディオムだなーという感じ。
これに方向転換を許す領域としてコライダーを追加して内部の方向転換可否フラグを書き換え、そしてコライダーとの干渉後に一度方向を変えたらもう変えられないように方向転換可否フラグを落として終了(図2)と。
図2 方向変えられるようになったマン
12分のビデオだけど所要時間は45分ぐらい。メモを取ったりスクショを撮ったりとしつつだけど、結構わたわたとしてしまうので大事なポイントを把握して脳内で手順を再構築できるようになってないんだなーと思う。
次回はステージを作るらしい。

Unreal Engine 4 ビデオチュートリアル記 #5

2015年6月20日土曜日

前回: Unreal Engine 4 ビデオチュートリアル記 #4
前回はベルトコンベア作りだった。
やっている時には結構つらいと思ったけれど、振り返ってみると辛かったのは慣れが剥落してUI体系を触り直しになったあたりで、やっていたことはシンプルだった。
コライダーで見つけた対象へと適切に力を加えるという話だった。
今回でBlueprint Jump Startsシリーズは終わり。概要によると「ゲームの機能群をモジュール化されたBlueprintableなコンポーネント群へと切り分ける方法を紹介する」ものということ。

Blueprintableコンポーネントでゲームの振る舞いを構造化する

Using Blueprintable Components for Game Behavior

18分ぐらい。
今回は、これまでのものとは趣が違った。ゼロからハンズオンやっていく形ではなく、ワークフローを観て学ぶ感じだった。
UE 4.7以上でメインとなったBlueprintable Componentsについて。UnityのPrefabみたいなやつ。
ステージ上に配置したオブジェクトにスプライトや既存のBlueprint群を割り当てていき、それを再利用可能なBlueprint Classへと変換するのが前半のところ。
変換後のものを編集するためには、他のBlueprint Classと同様に一旦BP Editorで開くことになる。
当然のようにサブコンポーネントとなったBPが変数としてエクスポートしているものはUEのレベルエディタ側で編集できる。

感想

「UnityのPrefab、UE4ではどう扱うんだろう?」と思っていたところの実際の動きを眺めながらふんわり掴めるので良いチュートリアルビデオだった。
なお、前回の最後に書いていた動画再生とUE4操作のバランス取りについて、今回は実際に手を動かして編集するフェーズがなかったので次回へ持ち越し。

Unreal Engine 4 ビデオチュートリアル記 #3

2015年4月30日木曜日

前回: Unreal Engine 4 ビデオチュートリアル記 #2
前回はシーンレンダリング時の色合いを変化させる(Color Grading)方法とスローモーション効果についてだった。
今回はその続き。

ジャンプ台の作り方

https://wiki.unrealengine.com/Videos/Player?series=PLZlv_N0_O1gYeJX3xX44yzOb7_kTS7FPM&video=6admWItFIsE

3分弱。
ジャンプ台のメッシュをCylinderで適当に作って、コリジョンタイプをデフォルトのBlockAllDynamicからOverlapAllDynamicへ変更することで自キャラが踏めるようにする。
あとはActor Begin Overlapのイベントを受け、対象をThird Person Characterへキャストできたらその対象に対してLaunch Characterで吹っ飛ばすというもの。
とても分かりやすい流れだった。
しかし、UE4自体が日本語UIになっているとBPの補完候補絞り込み部分で非常に不便(castなどがカタカナでないと出なくなる)なので英語UIにしようと思った。

ホバーコンポーネントの作り方

https://wiki.unrealengine.com/Videos/Player?series=PLZlv_N0_O1gYeJX3xX44yzOb7_kTS7FPM&video=5kltaGld6fQ

15分弱。長い。
プリミティブに作用して対象を空間へ浮かせておけるようにするコンポーネントを作るという回。
Line Trace by Channelを使って浮遊表現をする。
Promote To Variable便利。適当な値を指定してBPを作り、それを変数化するとデフォルト値がさきに指定したものになるのでよく使うテクニック、という話をしていた。
内部で変数定義したものを外部へと公開するのもとても簡単。
Line Trace by Channelで対象オブジェクトが何かにぶつかった場合の処理を作っていく部分が少々複雑だった。Break Hit Resultでヒットテスト情報を分解し、World Locationとの差分の長さを適当なファクタで割り、結果を適当な範囲へと正規化してImpact Normalに掛けたものをAdd Forceでオブジェクトへ反映する、というところまでがメイン。
これだけだと地面すれすれで跳ねる度に反発が大きくなっていくのでLinear DampingAngular Dampingを設定して制限する、というのが仕上げ。
シミュレーション実行中にプロパティを変更した際、kを叩くと値を保存できるというのが便利そうだった。

図1 ホバリングするコンポーネントのBP

2つめが長かったので今回はここまで。次回で最初のシリーズが終わるはず。

Unreal Engine 4 ビデオチュートリアル記 #2

前回: Unreal Engine 4 ビデオチュートリアル記 #1
前回はメッシュ破壊、カメラ揺らし、タイマー利用の3点をなぞった。
今回はその続き。

Color Gradingを使う

シーンをレンダリングする際の色合いをいじるもの。
https://wiki.unrealengine.com/Videos/Player?series=PLZlv_N0_O1gYeJX3xX44yzOb7_kTS7FPM&video=oBzHB-VRCS0

4分弱。
オンラインマニュアルの中でポストプロセスエフェクト部分にあるColor Gradingまで遷移してね、から始まるのが新鮮だった。
このページには「Color GradingというのはTone Mapping機能と、それに加えてColor Correctionを指します」とある。
適当なシーンのスクショを撮り、それをPhotoshop上でいじって作った色のルックアップテーブルで簡単にColor Gradingを実現するというもの(図1、図2)。

図1 Color Gradingの適用前 

図2 Color Gradingの適用後

なるほど夢の広がるやつだ。
しかし「Photoshopでこれやります」と唐突にくるのが不意打ちだったので、全然実時間で追いかけられなかった。

スローモーション効果をかける

https://wiki.unrealengine.com/Videos/Player?series=PLZlv_N0_O1gYeJX3xX44yzOb7_kTS7FPM&video=oX_uSjO270g

4分弱。
まず、エディタ内にゲーム速度をいじるためのslomoコマンドが用意されてるのに驚いた。加速方向にもいじれてえらい。
Build StringでPrefixの最後にスペースを入れてなくてコマンドが効かない、というミスをした。適当にスペース補ってくれるとかなかった(まあなくて良さそうだった)。
完全に写経。Event Tickで毎フレーム処理する必要あるのかなーと思っていたら、自キャラの動作速度にあわせてゲームスピードを変えるというものだったので必要だった。
Vector Lengthでのベクター長取得とMap Rangeによる正規化というパターンは割とよくありそう。

Unreal Engine 4 ビデオチュートリアル記 #1

https://wiki.unrealengine.com/Videos

UE4は表現の幅が広い分、APIの探し方というか掘り方というか、そういうものが身についていないと何をするにも困る。ライトに扱えるものをいろいろ触っていくことで、「こういう仕組みが欲しければこの辺を掘れば良さそう」というのが分かっていくはず。
やはりチュートリアルのビデオを観ながら進めていくのがよかろうということで、観ながらやっていく。
まずはBasics(Blueprint Jump Starts)からいくつかやる。Basicsでは手軽にできて効果の高い手法をいろいろ紹介してる。
20本あるけれどいきなり全部はやらない。
なるべく実時間で追いかけたいけど、きっと慣れないうちはダメなのでその時は諦めてじっくり一時停止しつつ観る。BPのパラメータはパラメータ名へのマウスオーバーで詳細を表示してくれるものが多いので、見ればなんとかなるはず。

メッシュを破壊できるようにする

https://wiki.unrealengine.com/Videos/Player?series=PLZlv_N0_O1gYeJX3xX44yzOb7_kTS7FPM&video=-gGiEmYj4oE

2分半とだいぶ短い。
途中でミスしなければ実時間でいける感じ。
元々用意されてるスタティックメッシュをいじって破壊できるようにする。
日本語化された環境では「被破壊性メッシュを作成」というメニューになってる。
ダメージを受けて破壊されるようにしてるんだけど、なかなか楽にできるようになってて面白い。そして、物理シミュレーションを有効化して仕上げというのがまた面白かった。

カメラを揺らす

https://wiki.unrealengine.com/Videos/Player?series=PLZlv_N0_O1gYeJX3xX44yzOb7_kTS7FPM&video=1nMKHwsXSCc

3分半と結構短いけれど得られる効果が大きめなやつ。
CameraShakeクラスをもとに自前のパラメータを設定したカメラシェイク用のBPを作り、キャラクター側のBPチェーンへとPlay World Camera Shakeを追加して、その際のパラメータとして与えればokという。
これのパラメータはEpicenterがワールド空間でのエフェクト位置、そしてそれに対してInner RadiusからOuter Radiusまでの間にあるカメラが影響を受ける、ということでOuter Radiusをそこそこの大きさにしないと効かない(最初にやった時に桁一つ少なく指定してて、なんかシェイク効かないなーと思ってた)。

タイマーをつくる

versatile*1ノードと書かれてるタイマー。
https://wiki.unrealengine.com/Videos/Player?series=PLZlv_N0_O1gYeJX3xX44yzOb7_kTS7FPM&video=BeztKC4cO18

ちょうど3分ぐらい。画面上にポイントライトを作って、その色を一定時間間隔でランダムに変えるという例。
途中、ディスプレイの解像度が低すぎて画面右側のメニューがブルって見えてたけど、メニューを引っ張りだしてみるとブループリント/スクリプトを追加だった。
カスタムイベントを作成して、その名前をSet TimerFunction Nameに書き込むのは若干イマイチ感もあるけど、まあ分かりやすいのかもしらん。
[*1] 多才なとかそういう

日経ソフトウエア 2015年3月号に寄稿しました

2015年2月20日金曜日

Roslynのホームとしてgithubへの移行(2015年1月11日)後のものが掲載されたおそらく日本初の雑誌です*1。
この号からKindle版にも付録小冊子の内容が付くようになったとのことで、好評を博しているようです。

2015/01/24発売で、そろそろ1ヶ月経ちます。
週明けには次の号が出るので、せめて次の号が出る前に告知記事をば><

執筆したのは第2特集の「プログラマ必見! 2015年ヒット技術予測ランキング」です。

概要:
2014年はプログラミングに関連する様々な新製品や新技術が登場しました。Java 8や新言語Swiftなどはその一例です。では、2015年はどんな技術・製品が登場し、注目を集めるのでしょうか。編集部が考える今年ヒットしそうな技術・製品を、ランキングを交えて紹介します。

ネタの選定に偏りを感じるとか、「なんでこれ入ってないの」とか「これもう流行ってるじゃん、いまさら入れるまでもないじゃん」とか様々な突っ込みが自然と出てくるようなテーマですが、年明け恒例ということでひとつ。


#UE4 利用初日に設定したい、超手軽なMac版Editorの速度改善法

2015年2月4日水曜日

1年分サブスクリプション付きUE4本、すごい人気ですね。
初版のみクーポン付きということで手に入れられなかった人も結構いそうですが。

見てわかるUnreal Engine4 ゲーム制作超入門 (GAME DEVELOPER BOOKS)
掌田津耶乃
秀和システム
売り上げランキング: 293

さて。
やる気が高まってよっしゃーやるぞーとUE4を触り始めたMacBook Pro Retinaユーザがきっと最初に感じるのは「Mac上のUnreal Engine 4 Editorがやたらカクカク動く」辛さでしょう。

標準添付のテンプレートプロジェクトを走らせてstat fpsコマンドを叩くと表示が10fpsを下回っていたり、普通に編集しているだけなのに「FPSが低すぎるから低負荷モードに切り替えるで」的なダイアログが出てきたりと、私はUnity方面から来てギョッとしました。

しかしこれ実は簡単な解決方法があります。
さっと探した感じでは見当たらなかったのでblogにまとめましたが、「えっ そんなの普通やるでしょm9(^Д^)」というツッコミもお待ちしています。



使用前→使用後はこうなります。
このスクショを見て「あぁ^〜〜」とタネが分かった方はブラウザをそっと閉じて下さい。
分からなかった方はもう少々お付き合いください。ネタばらしは最後にします。
なおMacBook Airでは終盤で紹介するささやかなhackぐらいしかできません(多分)。

ゲームをXamarinで複数PF向けに同時開発やってもあまり嬉しくないという話

2014年10月25日土曜日

本記事は、日経ソフトウエア2014年12月号に掲載された「Android & iOS アプリ 同時開発」の落ち穂拾い(紙面の都合上カットされたネタ)記事です。

日経ソフトウエア 2014年 12月号

日経BP社 (2014-10-24)

雑誌掲載の記事では、Xamarinの向いたエリアについて挙げました。実は原稿段階では不向きなエリアについても書いていました。これを増補する形で紹介します。

ゲームは割と不向きという話をします。