207 Views
July 15, 17
スライド概要
2016/1/23(土)に開催されたUnity道場のスライドです。
講師:池和田有輔・山村達彦(ユニティ・テクノロジーズ・ジャパン合同会社)
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
unity Global Game Jam 直前! Unityエンジニアが伝授する ゲームジャム対策勉強会 ユニティ・テクノロジーズ・ジャパン 山村 達彦 池和田 有輔 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
unity 道場 Unity主催の公式イベント始動! ユニティ・テクノロジーズ・ジャパンスタッフから Unityの新機能や使い方を学べる道場を開門! 道場は毎月ここdotsで行われます。ぜひUnity県人会議サイトをチェックしてください! COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ゲームジャムの概要と対策 unity COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
前口上 ゲームジャムとは ・短期間でゼロからゲームを完成させるイベント。期間は24時間〜48時間がメイン ・チームは即席であることが多い ・概ね作るゲームのジャンルやテーマが決められている ・参加条件は厳しくないことが多い。 ➡学生もプロもホビイストも一緒になってガンガン開発していく グローバルゲームジャムとは ・毎年1月後半に行われる世界最大規模のゲームジャム ・今年で8回目 ・参加者にして2万人、チーム数にして5,000チームが発表されたテーマを 元に世界同時進行で開発を行う ・いわゆるコンテスト/コンペティションではなく、ゲームクリエーターの お祭り的な要素が強め COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ゲームジャムには夢がある 〜 ジャムから生まれた名作たち Titan Souls ・Ludum Dareというジャムがきっかけ ・その後ステージを追加しクオリティを上げてリリース ・かなり手ごたえのあるトップビューのアクションゲーム ・Flash製 ジャム版 リリース版 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ゲームジャムには夢がある 〜 ジャムから生まれた名作たち Broforce ・同じくLudum Dareがきっかけ(当初はRambros) ・何でも破壊しまくれる爽快2Dアクション。所謂バカゲー ・南アフリカのチームにより開発 ジャム版 リリース版 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ゲームジャムには夢がある 〜 ジャムから生まれた名作たち Goat Simulator ・話題のインディゲームもCoffe Stein Studios内の社内ジャムがきっかけ ・販売どころか公開の予定すらなかったが、スタッフがYoutubeに投稿したα 版デモの反響が予想外に大きかったため、本格的な開発に着手した経緯が あるとか COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
GGJ参加に向けて ゲームジャムは挑戦の場である ・当然の事ながら48時間でできることは限られている。まずは完成を目指そう! ・普段の仕事仲間とは異なるメンバー内でのどの程度の役割を果たせるのか ・挑戦したことのない役割にチャレンジしてみてもいい ➡その役割の苦労もわかるようになる GGJは毎回意図的に失敗するような難解なテーマが設定されている ・テーマはイラストや意味深な文章、効果音であったこともある ・アチーブメントも無理難題ばかり(例:1000vs1000の対戦を実現させよ) ・易々と成功させてくれない。どんな人にもやりがいを感じさせてくれる 気負わずに行こう! COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
下準備・あるといいもの ✓ 名刺(自作のもので構わないので) ✓ 電源タップ ✓ 携帯充電機あるいはケーブル ✓ LAN → USBの変換ケーブル(使える場合は有線LANの方が安定する) ✓ マウス(使い慣れた機材) ✓ 付箋(ポストイット) ✓ ヘッドフォン・イヤホン ✓ 耳栓 ✓ アイマスク ✓ 寝袋 ✓ 1泊分の着替え ✓ タオル類など ※Unityのバージョンを最新のものにしておくこともお忘れなく! COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
開始から終了までのシミュレーション unity COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ゲームジャム開始からの流れ チームの振り分けから ・まずはお互いの自己紹介を。自分の得意なことをメンバーに伝えよう。 ・6人のチームであれば理想の編成はプログラマー3人グラフィッカー2人サウンド1人くらい ➡実際は5人プログラマー、プログラマーだけど絵が描ける人が1人とかになりがち ➡サウンド担当は本当に人手不足なので、掛け持ちを容認しよう! ブレインストーミング 〜 どのようなゲームを作るべきか ・ジャムのテーマとメンバーそれぞれの役割を考慮し、ブレストを行ってみよう ・ブレストは原則として全員参加 ・アイディアを拡散させ、収束させていくことが基本 ・時間制限を設け、デッドラインまでに決まらなかったらスコアが高いものを選ぶ方式 ➡GGJでは初日の深夜くらいまでを目安に COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ワークショップ:ブレインストーミング 基本的な考え方 ・テーマを元にアイディアを広げていき、収束させることが目的 ・ブレストには全員参加が原則 用意するもの ・模造紙 ・付箋 ・人数分のペン COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ワークショップ:ブレインストーミング 手順1:拡散フェイズ - 15分 1. まずは各自で自己紹介とやりたいことを発表 ・AIプログラミングがしたい ・幻想的な絵が書きたい ・変わったデバイスを使いたい、など 2. 中央にテーマを書き、その周りに思いついた キーワードや文章を付箋に貼ってアイディアを 広げていこう 例:フロッピーディスクがテーマの場合 冷凍食品 冷蔵庫 非常食 シェルター 保存 タイムカプセル 発明家 外部記憶 Dr.中松 記憶屋ジョニー フロッピー ジャンプ 磁気媒体 時代遅れ 不安定 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ワークショップ:ブレインストーミング 手順2:収束フェイズ - 15分 ・付箋の内容と各自の役割を考慮し、どのようなゲームを作るべきか3行程度の文章にまとめ発表する ➡アイディアは各々が最低限1つは出すように ➡伝わりにくいものは文章ではなく絵にしても良い 保存 不安定 ・セーブシステムが不安定でリトライやロードするたびプレイヤーの見た目や能力が変わる ・頻繁にセーブ・ロードさせることが必要なので、基本的に高難度のアクション(死にゲー) ・死ねば死ぬほど最初とはかけ離れたものになっていく フロッピー タイムカプセル ・海岸に打ち捨てられた一枚のFDから、過去に起きた出来事を紐解く推理ゲーム ・Heavy RainやGone Homeのように静かでシリアス、かつ謎に満ちた世界観 ・個々の発表が終わったら、話し合い、時には多数決によって作るものを決定しよう 発表 ・代表者1名を選出して、作るべきゲームの内容を発表してもらいます。 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ワークショップ:ブレインストーミング テーマ COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ブレスト後には・・・ ブレスト後はメンバー内でイメージの共有を ・「ゲームのイメージが固まり具体的になった」はずが、各々が思い描くものがバラバラなんてことも起 こり得る ・過去の失敗例として、2Dゲームを作ると思い込んでいたら完成形は3Dだったことがあった ・自分のチームの発表内容が自分の思っていたものと齟齬はなかっただろうか? ・少しでも疑問点があれば遠慮せず質問・確認することが重要だ ・言葉だけでなく、時には絵や図を書いて共有しよう コミュニケーションが不足して失敗することは多々あるが、取りすぎて失敗することはない COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ワークショップ:タスク分け 「Survival Shooter Extended」をゼロから作るとしたら、どのようなタスクがあるか考えよう Survival Shooter Extendedとは ・Unite Seattle 2014でトレーニングデイに使用されたチュートリアル用ゲームSurvival Shooter の有志による改造版 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
タスク分けの一例 基本となる ゲームシステム ゲームマネージャ実装 カメラコントローラー実装 ポーズ・ゲームオーバー・リトライの実装 スコアの管理・実装 プレイヤーHPの管理・実装 エネミーHPの管理・実装 レベルデザイン キャラクター及び キャラクター間のやり 取りに関係する要素 キャラクター・デザイン キャラクター・モデリング キャラクター・アニメーション プレイヤーのステート管理 エネミーのステート管理 ナビゲーションメッシュの実装 プレイヤーのアタック実装 敵のアタック実装 プレイヤーと 直接対話する要素 UIデザイン UI実装 入力周りの実装 ゲームの価値を 高める演出 背景デザイン 背景オブジェクト・モデリング スカイボックス設定 各種エフェクト(レーザーやマズルフラッシュ、ヒット時の煙など) ポストエフェクト設定 オーディオ関連 BGM制作 SE制作 オーディオ実装 その他 GGJのサイトにチームのプロフィールを記入 プロモーション用の動画撮影 食料・栄養ドリンクの確保 TwitterなどSNSでの実況 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
バニラSurvival Shooterとの違い Survival Shooter Extendedでの拡張項目 ・敵の出現がWave単位に(実質的にステージ構成) ・ダメージを与えたときにノックバックが発生。 ・武器がレーザービーム(着弾まで0秒)ではなく弾 に変更。 ・弾の種類が追加された(通常・貫通・反射) ・敵のAIが変わった(プレイヤーが見えていない敵は ウロウロ、見えている敵は猛ダッシュ) ・敵の種類によりステータスが大きく差別化 ・エフェクト追加 ・ダメージを受けた時にボイスが入る 実際のジャムでは「最低限作るもの」「余力があったら作るべきもの」と分けると幸せになれる COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
プロジェクトのスケーラビリティを考える タスクにプライオリティを与え、それを考慮したスケジュールを考えよう ・予定外の出来事に対応しやすい ・アイディアは可能な限り実現したくなるが、必ず実現すべきこと以外を「追加要素」と位置付けると気 持ちがラクになる。 ゲームの規模を松竹梅とした場合、Survival Shooter Extendedを「松」と位置付けてみる 梅 竹 松 ミニマム版 Survival Shooter Survival Shooter Extended 梅:ゲームの骨子となる最低限の体験が担保されたミニマム版(αで目指すべきもの) 竹:一通りゲームとして完成・完結されたもの(ジャム内での完成を目指すもの) 松:プレイヤーの体験をより素晴らしいものにするリッチ版 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ワークショップ:プライオリティを考える 切り出したタスクのプライオリティを考え、「梅」つまりαとして実現すべき内容を考えてみよう ・一通りタスクを書き出したら、誰がどの作業を担当するのか話し合って決めよう ・タスクを振り分ける際は各自作業にかかる工数を見積もる必要がある ・見積もりはバッファ込みで(作業コストは常に低く見積もりがち) COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
タスクのうちカット、あるいは簡略化できそうなものを検討 基本となる ゲームシステム ゲームマネージャ実装 カメラコントローラー実装 ポーズ・ゲームオーバー・リトライの実装 スコアの管理・実装 プレイヤーHPの管理・実装 エネミーHPの管理・実装 レベルデザイン キャラクター及び キャラクター間のやり 取りに関係する要素 キャラクター・デザイン キャラクター・モデリング キャラクター・アニメーション プレイヤーのステート管理 エネミーのステート管理 ナビゲーションメッシュの実装 プレイヤーのアタック実装 敵のアタック実装 プレイヤーと 直接対話する要素 UIデザイン UI実装 入力周りの実装 ゲームの価値を 高める演出 背景デザイン 背景オブジェクト・モデリング スカイボックス設定 各種エフェクト(レーザーやマズルフラッシュ、ヒット時の煙など) ポストエフェクト設定 オーディオ関連 BGM制作 SE制作 オーディオ実装 その他 GGJのサイトにチームのプロフィールを記入 プロモーション用の動画撮影 食料・栄養ドリンクの確保 TwitterなどSNSでの実況 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
α版の例 ・とにかく面白さが確認出来るものを ・スコアやUIはシンプルでも良い ・キャラクターもシンプルに ・エネミーは一種類でも良い(色違い球とかでも良い) ・エネミーの攻撃方法も一種類でも良い ・背景および背景オブジェクトは配置や距離を調整 ・面白さの骨子に関連しなければエフェクトは後で良い ・ポストエフェクトは無くても良い ・BGM・SEは最悪無くても良い (でもBGMがあるとテンションが上がる) 冒頭で挙げたTitan SoulsやBroforceはジャム版の 時点からゲームの骨子がブレていない COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
実際の役割分担例 プログラマー1 ゲームマネージャ実装 カメラコントローラー実装 オーディオ実装 TwitterなどSNSでの実況 プログラマー2 プレイヤーのステート管理 エネミーのステート管理 ナビゲーションメッシュの実装 プレイヤーのアタック実装 敵のアタック実装 プレイヤーHPの管理・実装 エネミーHPの管理・実装 プログラマー3 入力周りの実装 UI実装 ポーズ・再開・リプレイの実装 スコアの実装・管理 3Dアーティスト キャラクター・デザイン キャラクター・モデリング キャラクター・アニメーション 背景オブジェクト・モデリング 2Dアーティスト UIデザイン レベルデザイン 背景デザイン スカイボックス設定 各種エフェクト(レーザーやマズルフラッシュ、ヒット時の煙など) ポストエフェクト設定 サウンドデザイナー BGM制作 SE制作 食料・栄養ドリンクの確保 GGJのサイトにチームのプロフィールを記入 プロモーション用の動画撮影 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
メンバー内でのプロジェクト共有やファイルをやり取りするために プロジェクトの共有 ・Git + BitBucketで共有するのがオススメ ・UI上で操作できるツールとしてSourceTreeをインストールし、操作に慣 れておこう ・Unity内での推奨ディレクトリ構成はAssets/メンバー名/カテゴリー名 ➡例:Assets/ikewada/Scripts git + 情報伝達や細かいファイルのやり取り・緊急連絡など ・Facebookのグループ機能 ・Slackもかなりおすすめ! ・(山村)個人的には紙媒体かホワイトボードが至高 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
UnityとGitの連携手順が分かりやすく紹介されているサイト http://naichilab.blogspot.jp/2014/01/gitsourcetreegit.html COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
複数人のプロジェクト共有の流れ スタート直後 ・最初の一人がプロジェクトを作成(要Force Text) ・プロジェクトをGit(Bitbacket)にアップロード(コミット) ・他の参加者は登録したプロジェクトを取得(プル) 開発中 ・自分の担当作業が完了したら、プルして、最新環境に同期 ・動作を確認して、エラー・競合がなければ自分の変更をアップロード(コミット) ・エラー・競合が発生したら、最新に合わせる形で調整 競合が発生しないように、変更時は宣言しておくと、競合起こすよりは楽 ・サーバーにあるプロジェクトは常に動作する状態にする COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
複数人開発で起こり得るトラブルとその解決法 事前準備 ・Prefabやシーン、アセット単位で競合する => バイナリだとマージが出来ない。 メタデータはテキストで保存しておこう (メニュー>Edit>ProjectSettings>Editor Editor SettingsでModeをForce Textへ) ・アセット・スクリプトを編集するときは チーム内で宣言して競合を回避しておこう COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
複数人開発で起こり得るトラブルとその解決法 コミット ・コミット(アップロード)は必ず「更新したファイルと同じパ スにある.metaファイルも一緒に行う」 ・コミットする際、ゲームプレイ時にエラーが出ないように注意 ・コミット出来ない場合、自分の環境が最新版に同期できていな いか、誰かが自分と同じファイルを編集している =>自分の変更を破棄して再設定するか、競合を解決する COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
複数人開発で起こり得るトラブルとその解決法 プレハブやメタデータの競合が起ったら ・Force Textが選択されていれば、YAML方式で内容を比較・マージが出来る ・でも大変なので、出来る限り編集時に競合しないように頑張ろう シーンの競合が起ったら ・Unity Yaml Mergeを使用してシーンの変更を適応 ・自分の作成した変更内容を最新のシーンに適応 ・オブジェクトの追加・変更はそこそこ綺麗に出来るけど、削除は把握しないので、 オブジェクトやコンポーネントを削除していた場合は注意 ・でも面倒なので、出来る限り編集時に確認して競合しないように頑張ろう COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
プロジェクトが破壊される原因と対策 ・プロジェクトを取得すると、色がピンク色になる、 スクリプトがMissingになる =>.meta内にあるgiuidの値が変化して、参照先が 変化してしまうのが原因 (パスではなく重複しないIDで参照を管理) GUIDが変化させないためには ・アセットと.metaを一緒にコミットする ・ファイルを移動する時は一緒に移動する ・ファイルの上書きはExplorerもしくはFinderで行う 分かりやすい解説 http://madnesslabo.net/utage/?page_id=5640 http://tsubakit1.hateblo.jp/entry/20140613/1402670011 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
大まかなスケジュールを決めて、本制作開始! スケジュール例: ・1日目夜:ゲームジャム開始、自己紹介 〜 ブレスト、企画決定 ・2日目午前:本制作開始 ・2日目午後:α版発表 ・2日目夜:本制作 ・3日目午前:β版発表 ・3日目午後:開発終了 〜 プレゼンテーション 発表している時間には作業が中断することも考慮してスケジュールを立てよう 完成したものの配布形態はWEB-GL及び単体アプリがオススメ COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
もし「やるべきこと」がなくなってしまったら? 自分に割り当てられたタスクは完了したが、他の人を手伝うようなスキルがない。 あるいは逆に手伝う方が効率が悪くなってしまう。そんな時にすべきタスクはこちら ・レベルデザイン(ほとんどのケースにおいて、最低限のUnity操作ができれば可能だ) ・効果音やBGMの検索、ダウンロード、組み込み実装 ・GGJのサイト上にてチーム及び作ったゲームの紹介を記入 ・プロモーション用の動画撮影(必ずしも制作完了後にしなくてもいい) ・食事や栄養ドリンクの確保 ・Twitterでの実況 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
ゲームの完成度を上げるコツ COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 デザイン編 悲劇的なデザインは何故生まれるのか ・レイアウトが適当すぎ ➡グリッドを作っていないし囲み罫の意図がよく分からない ・デコレーションがチープすぎる ➡っていうか必要? ・配色が酷い ・フォント選びがおかしい COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 デザイン編 レイアウト ・グリッドやマージンを意識しよう ・非デザイナー向け書籍「ノンデザイナーズ・デザインブック」を読むと基本的な 考え方が理解出来る 配色 ・配色のコツは「補色と近似色でまとめる」「色数を増やしすぎない」がポイント ・或いはAdobe Color CCで人気の高いカラーセットを拝借するのが手っ取り早い COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 デザイン編 フォント ・フォントを変えるだけで見栄えも大きく変わります。デフォルトのArial以外のものも使ってみよう ➡というかArialは欧文のみであり、日本語に使った場合は勝手にシステムフォントに置き換わる ➡.ttf .otf形式であれば問題なく使える ゲームジャムで使えるおすすめのフリーフォント エムプラス M+:クセのない日本語フォント。同人ゲームなどでよく使われています。 色々種類があるけど、とりあえずPがつくものを入れておけば良い ピクセルエムプラス Pixel M+:スーファミライクなフォント。実際はアウトラインのある固定幅フ ォントです。漢字も第二水準まで使えて素晴らしいです! 04 ZERO YONN 04:超有名なビットマップ欧文フォント。作者は日本人ですが、海外のゲー ムでもよく見ます。読み方はゼロヨンです LATO lato Lato:クオリティの高いフリーのサンセリフ欧文書体。ファミリーも充実し ていて広告などにも広く使われています COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 Unity機能編 よりリアルな絵作りを目指すなら ・Unity5から搭載されたGI(Enlighten)を試してみよう ・動かないモデルをstaticに設定することで、間接光の影響が設定され、表現が良くなる COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 Unity機能編 Baked GI ・動かないものに影や光を焼き付けて(Bakeして)負荷を軽くする技 術。オブジェクトを消しても右図のように影や発光オブジェクトの 光は残る。プレイヤーなど動くものは影ごと消える ・デフォルトでオンになっているので、外して必要な時だけ影を焼き 付けた方がいいかも Light Probes ・ライティングの光源情報を場所ごとにデータ化して計算を簡略化さ せることにより、動くものにも反射光の情報を反映させる技術。 ・左右での色が違うのは反射光を受けていることを示している Reflection Probes ・金属などの映り込みを反映させる手法。デフォルトではスカイボッ クスが写り込んでしまうため、室内などでは不自然になりやすい COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 Unity機能編 Image Effect (Post Effect) の使用 ・Image Effectは画面全体にエフェクトをかけることで絵をガラッと変えてしまう強力な機能です。 ・Unity5からスタンダード版でも使えるようになりました。 ・Unity公式のエフェクトはStandard Assetsからインポート可能なので積極的に使ってみよう。 ・特におすすめは、Bloom、Vignette、Depth of Field、Tone Mappingなど Before After COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 Unity機能編 ステージごとに手軽に雰囲気を変えたければ ・ライティングとスカイボックスを変えるだけで手軽に昼夜や違う季節を表現することができる 昼 宵 夜 朝 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 Unity機能編 等速運動ではない、スムーズなアニメーションを実現したいなら ・Tweenを使ってみよう。Tweenとはbetweenに由来する言葉で、オブジェクトが変化しながら遷移する アニメーションのこと。一般的には座標、角度、大きさ、色、アルファやそれ以外のパラメータを任意 の時間で変化させる手段。 ・iTween、LeanTween、DOTweenなど。使い慣れてるものがあればそれで ・それぞれ特徴はあるものの、得られる結果に大きな大差はない ・ダメージを受けた時の「カメラ揺れ」なんかもお手軽に実装できるぞ COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 Unity機能編 既存の機能を活用する ・キャラクターの経路探索やステージのオブジェクト配置等、 既にある機能で使えるものは使う ・AssetStoreから使えるものは使う ・でも少し悩んで、今使い方が分からない物は避ける ・面白そうな技術は事前に試しておくのが吉 ・実装で悩んだら、必ずシンプルな方法を選ぶ オブジェクトを配置するTips ・ステージをcsvや独自メタデータで作るより、パパっと配置したほうが 早い事も多い。 ・http://tsubakit1.hateblo.jp/entry/2015/04/21/031048 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 プログラマ編 思い通りプログラムが動かなかったら ・まず「問題の切り分け」 (データが悪い?参照が間違ってる?入力は正しい?数式は正確? 悪いとしたら、どこまで正常でどこから異常?) ・Script DebuggerやDebug.Logで動作を確認 ・憶測が経ったらコードを見る http://tsubakit1.hateblo.jp/entry/2015/12/02/212958 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 プログラマ編 コード間の値の共有 ・プログラマ間で「どうやって、どのような値を共有するのか」は 事前に話しておいた方が良い ・好き勝手拡張すると、後々で面倒なことになりやすい ・競合しやすい項目なので、変更は慎重に。 例えば… ・パラメータはゲームマネージャーが持つ?それとも各々? ・ゲームオーバー・もしくはゲームクリア時にプレイヤーの操作を止めたい。 どうやってゲームオーバーを知る? ・クリア時のスコアは? ・シーン間での値の共有は、staticなオブジェクト?それとも破棄されないオブジェクト? COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
作品の完成度を上げるためのTips 〜 人間編 無理はしない ・眠気を我慢して進めても、逆に効率が悪くなる ・空腹を我慢して進めると、食べた時に猛烈に眠くなる ・無理はモチベーションを殺す 寝る時は寝る ちゃんと食べる 無理は(出来れば)しない COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
Asset Storeを活用しよう! COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
Asset Storeを活用しよう! 現場でもジャムでも頼りになる「Asset Store」 ・GUI周りや2D機能の強化などにより、以前ほど 必須とされるものは無くなった ・無料アセットでも使えるものは多い。積極的に 活用しよう! ・購入したプラグインは基本的にチ ーム内で使い回すことが可能だ が、エディタ拡張(Editor Extension)カテゴリーに属す るもののみ人数分の購入が必要に なることに注意しよう。 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
Asset Storeを活用しよう! ポストエフェクト ・前述したようにUnity公式の基本エフェクトはStandard Assetsからインポート可能 ・Unity製はどちらかというと生真面目なエフェクトが多く、派手な効果が得たいのならColorful FX、 Camera Filter Packなどが面白い。 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
Asset Storeを活用しよう! ポストエフェクト ・次世代標準ポストエフェクトになる予定(Unity 5.4で搭載)のCinematic Image Effect ・被写体深度や使いやすいカラーグレーディング、SMAAやスクリーンスペースリフレクション等 ・要Deferred Rendering設定(CameraのRenderPathをDeferredへ変更) COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
Asset Storeを活用しよう! パーティクル(Shuriken) ・慣れないうちはゼロから作るよりも、既存のものをカスタマイズしたほうが早い ・Simple Particle Pack:Unity公式のシンプルなパーティクル集 ・Cartoon FX Pack:カトゥーンなパーティクル集。サイト上でデモが見られる。 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
Asset Storeを活用しよう! サウンド(SE/BGM) ・Free SFX Package:SFっぽい効果音集 ・SEや効果音はアセットストア以外にも素材を提供するサイトは色々あるのでチェックしてみるべし ➡当然ではあるけどライセンスはちゃんとチェックした上で正しく使おう! ➡Sound Snapは特におすすめ 3Dモデルデータ ・人物や動物についてはアニメーションの有無を確認しよう ・何種類か使う場合はなるべく世界観が合うものを使うといい感じ ・Complete ProjectカテゴリのUnity公式サンプルデータなども基本的に自由に使える ・Asset Store以外にもサウンド同様、データを提供しているサイトは無数にある。 ➡ただし外部サイトは建築や映像に使われるデータの方がメジャー。それらは基本的に精巧すぎるので ゲーム用途に使えるか確認しよう COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
終わりに 心構え ・とりあえず楽しむこと ・挑戦したことのない役割にチャレンジしてみてもいい(その役割の苦労もわかるようになる) ・失敗しても落ち込まない。会社が傾いたり責任を取らせられる人はいないし、得るものは絶対にある 個人的には自己の成長を参加する目的にすれば良いのではないかと思う。 得るものは必ずある(技術力がついた、自信がついた、メンタルが鍛えられた、達成感を得た、仲間が出 来た、身の程を知った、など)。 COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN
健闘を祈る!! Happy Game Development COPYRIGHT 2016 @ UNITY TECHNOLOGIES JAPAN