リアルタイム3D体験デザイン入門

Unity Learnでリアルタイム3D体験デザインの基礎についてのチュートリアル[^1]を個人的にメモしておく．

[^1]: [Unity Learn Tutorial Introduction to real-time 3D experience design](https://learn.unity.com/tutorial/introduction-to-real-time-3d-experience-design?pathwayId=5f7e17e1edbc2a5ec21a20af&missionId=5f751af7edbc2a0022cdbbb6)

# 概要

このチュートリアルで学ぶこと：

- 制作の各フェーズを振り返る．
- デジタル体験の創出のためのコアデザインプロセスを確認．
- リアルタイム3D体験制作の一般的なアプローチを考える．

## 体験デザインとリアルタイム制作サイクル

リアルタイム制作サイクルにおけるデザインの役割について考えてみる．

![blended first three phases of the real-time production cycle](https://connect-prd-cdn.unity.com/20201111/learn/images/81aff30d-cd84-4a7c-adcc-fa2317777588_Lesson_2.2_B.png.2000x0x1.png "blended first three phases of the real-time production cycle")

デザインは主に，プリプロダクション，プロダクション，ポストプロダクションのリアルタイム制作サイクルの最初の3つの段階に混在している．
混在しているが，デザインはサイクル全体を通して大きな影響を与える．

- オペレーションサイクルの段階で発見されたことは，継続的な改善のための継続的な設計作業につながるかもしれない．

## デザインプロセス：アイデア出しとリサーチ

リアルタイム3D体験制作に焦点を当て，そのプロセスを，アイデア出しとリサーチから見直していく：

### Stage1：問題を特定し，アイデアを定義する

リアルタイム3Dのためのデザインは，通常，ハイレベルな問題提起やアイデアから始まる．

- 目標に焦点をあてたもの
 - 建築家のクライアントが，現在試しているソリューションではうまく対処できないデザインを，  
3Dで簡単に視覚化できるようにしたい．
- 非常に高度なアイデア
 - マルチプレイヤータクティカルRPGを作りたい．

いずれにせよ，この最初の声明が，そのプロジェクトのゲームデザインドキュメントの基礎となるはず．

### Stage2：ユーザーと市場調査

次の段階として，時間をかけてターゲットユーザーとそのニーズを満たすために現在何が入手可能かを調査する必要がある．

競合他社を調査し，問題に対応する製品がすでに存在していないか，あるいは類似の製品が存在していないかを確認すると可能になること：

- 技術的なものであれ，なんであれ，プロジェクトの範囲に影響を与える可能性のある，関連する制約を特定する．
- 他のプロジェクトと比較して，提案するプロジェクトのユニークな価値提案について理解を深めることができる．

この段階では，**インクルーシブデザイン**[^2]を検討することも重要である．

[^2]: 身体障害者や文化背景をもつ人々のニーズを考慮するためのデザイン手法のこと

### Stage3：ユーザーペルソナの作成とユースケースの定義

ユーザーリサーチは，具体的なユーザー**ペルソナ**[^3]に体系化される．

[^3]: 典型的なターゲットユーザーを想定した架空のプロフィールのこと．

ペルソナは，ユーザーのニーズを明確に定義し，デザインプロセスを通じて，チームがユーザーに焦点を当て続けるために使用される．

## デザインプロセス：ブリーフの明確化と初期プロトタイプの作成

次に，その調査がどのようにデザインを洗練させ，開発のための強固な基盤を作り上げているのかを確認する．

### Stage4：ブリーフの絞り込みと目標の明確化

この段階は，洗い出されたユーザーニーズをもとにブリーフを練り直し，ゴールを明確にする最後の準備段階である．
このプロセスを経ることで，デザインワークの焦点をしっかりと絞ることができる．

### Stage5：予備設計

次に，ブリーフに対応する予備デザインを作成する．
これは探索的かつ反復的なデザインフェーズである：

- デザイン例を作成
- 定義されたユーザーニーズとゲームデザインドキュメントに照らして，より大きいチームと一緒に評価する．
- デザインを洗練させる，または，新しい方向へ進む，というサイクルを繰り返す．

この設計段階には，以下のようなものが考えられる：

- シンプルなスケッチから複雑なスケマティックまで，体験のビジュアル表現の作成
- ホワイトボードを使って，ユーザー体験のふろーや 分岐ロジックをマップ化する
- UIの枠組みの作成
- コンセプトアートなどのビジュアルデザインスケッチの制作

### Stage6：プロトタイプの作成

次に，そのデザインをもとに，体験の基本的なプロトタイプを1つ以上作成する．

予備設計と同様に，プロトタイプは定義されたユーザーニーズとげーむデザイン要件に照らして評価され，
これは設計と開発のプロセス全体を通じて継続される．
この段階では，ターゲットユーザーから外部フィードバックを求めることもあれば，
内部フィードバックにとどめることもある．

## デザインプロセス：設計と開発の繰り返し

最後に，選ばれたプロトタイプは，本格的な設計・開発のための概念実証として使用される．

### Stage7：反復的な設計と開発

プロトタイプがプロジェクトの責任者に承認されると以下の反復サイクルが開始される：

- デザイン
- ビルド
- テスト
- 評価
- 設計の洗練

評価は継続され，定期的にテストを行うことで，定義されたユーザーニーズに対応して体験が実現されていることを確認する．

## 一般的なリアルタイム体験の設計と開発アプローチ

これまでの説明したハイレベルなプロセスは，プロジェクトやチームの要件によって，実際には若干異なる．
これらの違いは，**設計と開発アプローチ**として表現される．
アプローチが異なったとしても，基本原則は変わらない．

ここで，リアルタイム体験デザインでよく使われるアプローチを確認しておく．

### ウォーターフォール方式

ウォーターフォール方式は，ゲーム以外のリアルタイム体験の制作で用いられる．
このアプローチでは，プリプロダクションが完了した後，設計と開発は，定義された個別の線形ステージで完了する．
あるステージが完了し，サインオフすると，滝のように次のステージが開始される．

このような設計と開発手法では，各段階の依存関係があるため，一度作ったものを変更することが困難である．
このような制約があるため，通常は以下に述べるアジャイルアプローチやハイブリッドアプローチが好ましい．

### アジャイルアプローチ

アジャイルアプローチは，反復的なアプローチ．
特定の機能に関して，部門を超えたチームで作業し，段階的に体験を計画，構築，改良していくもの．

設計と開発チームに柔軟性を与え，新しい発見や要求の変化に対応できるようにするため，より柔軟性の高い方法．

### ハイブリッドアプローチ

アジャイルとウォーターフォールの両方の要素を取り入れたハイブリッドアプローチでは，
プロジェクトのプリプロダクションでは比較的直線的な準備を行い，
その後，特定の機能に焦点を当てたサイクルで繰り返し構築とテストを行うことが考えられる．

### プロジェクトマネジメントとデザインアプローチ

[プロジェクトマネジメントとチームワークの紹介](Introduction to project management and teamwork)を参照してください．

## 最後に

このチュートリアルでは，リアルタイム体験の作成に使用されるハイレベルな設計プロセスを確認し，
特定の状況に基づいてカスタムアプローチを特定するために時間をかけた．

次に開発するときは，ぜひ心がけたいですね！
現在，開発中のプロジェクトでは，このチュートリアルの事例を知らなかったこともあり，徹底して行うことができなかったため，
大幅に変更することも多々ありましたし，追加したい要素がどんどん出てきたりと，割と大変でした．
(現時点では，収束しつつありますがｗ)

以上，リアルタイム3D体験デザインのチュートリアルでした．
この記事は，Unity Learnのチュートリアルを個人的にメモしておきたいだけなので，
実際にちゃんと学びたい人は，以下のリンクから学ぶことを推奨します．