第1回トライコアUnity勉強会カリキュラム
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
View only
 
 
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
概要
2
最低限の要素を詰め込んだ3Dゲーム開発の実演を通し、Unityを使用して3Dのゲームを作成するために必要な機能についての知識を習得します。
開発を通し、スクリプトに関する簡単な知識と、コンポーネントの概念の理解、Unityのイベントドリブンな開発の肌感覚を身に着けることを目標とします。
完全なハンズオンではなく、講師による実演を見ていただきながら、持ち込んだPCで自ら実装を行っていただく形です。
実演に自分の実装が追いつけなかった場合は手をとめて、後日実演内容を思い出しながら自分で実装を行っていただくことをお勧めします。

毎回の内容をブログ等にまとめます。(最終的には勉強会なしでもそのブログを見ればこのチュートリアルができる、というものを目指します)
完成したプロジェクトも公開します。
3
4
第一回日時2018/2/7
5
周期/回数毎週水曜(可変)、19:30-21:30予定 全6回
6
勉強会タイトル
Unityで個人開発をしたい人のための
3Dゲーム試作ワークショップ
-トライコア勉強会-
7
会場JRJP博多ビル 株式会社ゼネラルアサヒ共有部
8
定員10名
9
所要時間120分(休憩/質疑応答込み)
10
参加費1000円
11
対象【こういう人に向いています】
・Unityをこれから使用し、急ぎ足で一通りゲームを作る仕組みを学びたい人
・Unityを触ったことはあるが、公式マニュアルが膨大でどこから手を付けたらいいかわからなかった人
・Unityを触ろうとしたが、参考サイトが多すぎてゲームを一通り作るにはどうしたらいいかわからなかった人
※学生OK/職種は問いません

【こういう人には難しいです】
・Unityの機能が全部知りたい人
・細かいところが気になって先に進めない人
・手取り足取り何もかも教えてほしい人
12
講師由比 建(ゆい たける)
福岡コミュニケーションアート専門学校講師
株式会社トライコア代表取締役社長
Unityを使用したスマートフォンゲーム及びVRコンテンツ開発経験あり
C++を使用してのコンソールゲーム開発経験も
https://www.facebook.com/profile.php?id=100003375025586
13
提供株式会社トライコア
http://www.tri-core.co.jp/
14
15
16
実施回実施タイトル学習項目復習課題備考
17
1-1モノを配置し、ボールを弾ませる・各ウインドウの使い方
・コンポーネントというパーツを組み合わせてオブジェクトを構成する
・ゲームオブジェクトのアクティブ/非アクティブについて説明
・Rigidbodyによって物理を反映する
・マテリアル(材質)とは何か
・マテリアルからによってテクスチャを変更する
・フォルダにテクスチャ素材を追加。アセットフォルダについて説明
・好きなもの持ってきてテクスチャに
・PhisycsMaterialによってバウンドさせる
18
1-2プレハブを使った配置・Transformにて、数値入力で移動、回転、スケールの変更
・Transformウインドウをクリック&スライドで微調整
・プレハブを使ってオブジェクトを記憶
・プレハブ化時はTransform初期化を強調
・プレハブを配置
・配置したプレハブに変更を加え、全体に反映されるのを知る
・空のゲームオブジェクトをフォルダ的に利用し、整理
・フォルダ的利用の際はTransform初期化を強調
19
2-1スクリプト演習 ログとAddForce・スクリプト作成。1コンポーネント1ファイル、名前が違うと動かない説明
・Startでprivate int変数に数値を入力し、Debug.Logで表示
・コンソールウインドウの紹介
・private string変数を追加、同じくStartで表示
・コメントアウトの説明
・Debug.logをUpdateに移動し、intを加算
・ifでキー入力を取得し、キー入力したときだけログ表示
・StartとUpdateの詳細説明
・スクリプトでコンポーネント取得→変数格納
・GameObject.transformをいじらせる
・RIgidbodyをいじらせる
・プログラムにおいての.(ドット)のつながりが何を表すのかを説明。
ドットの後に文字が来た場合は「パラメータ」、()が来た場合は「ふるまい」を表す
「ふるまい」の()の中には数字やパラメータを入れることができる
と説明。関数とプロパティを概念的に伝える
・AddForceを実行させる(ゲームには無関係)
前回は直接地面を動かしたがうまく動かなく失敗。
今回は球に力を込めるだけとして調整する
20
2-2歩くイーサン→ユニティちゃんへ・インスペクタ上でコンポーネントのコピペ
・コンポーネントの再説明。理解を深める
・アニメーションコントローラのデータを触りだけ説明(アニメーションの流れを設定しているファイルです。程度)
21
2-3カメラ実装とアセットストア・Unity標準の三人称カメラ導入
・アセットストアから好きなヒューマンモデルをダウンロード
・好きなモデルにアニメーション適用
・好きな背景アセット導入
ちょっと時間に余裕あり
スクリプトのコピペで問題が出まくるのでバッファ
22
2-4立体迷路の建造・立体的な迷路を今まで使用した知識で建造する
・余った時間は質問時間
23
3-1ショット実装1 Instantinate・再度Startでprivate intをDebug.log表示
・public intに変更し、インスペクタから値を設定できることを説明
・無名のGameObjectをStartでInstantinate
・名前を付けてInstantinate
・Startでpublic GameObjectのプレハブをInstantinate
・プレイヤーの子、空のゲームオブジェクトshootPointを作成
・Iconつきゲームオブジェクト
・shootPointからプレハブをInstantinate
・ボタンを押されたときにInstantinate
・Timeを利用して、前回ショット時間から一定たったらInstantinate
よりスクリプトになれる
24
3-2ショット実装2 当たり判定・落下するボール作成
・FallBallスクリプト作成、rigidbodyとspherecollider適用
・TriggerとCollisionの違い説明
・OnCollisionEnterでDebugLog
・OnTriggerEnterでDebugLog
・レイヤー追加、fallBallとenvironment
・fallBallとenvironmentを当たらない設定ですりぬけるのを実演
・タグ追加、fallBallとenvironment
・environmentとぶつかったときにログ。レイヤー未設定で流れないのを実演
・PlayerShotスクリプト作成
・PlayerShotスクリプトでRigidBodyのVelocityを書き換える
・playerShotレイヤーとタグを追加し、背景にぶつかるとログが出るように
・背景にぶつかったらショットをDestroyする
レイヤーとタグどっちを使うの?で困る人が多い
前回タグから教えて失敗したのでレイヤーから
レイヤーのスクリプト演習が間に合わなかったので次回
25
4-1敵実装・PlayerとEnemyのスクリプト、タグ、レイヤー追加
・HP追加
・タグ判定で敵とプレイヤーのショットが当たったらログ
・ショットが当たったら敵のHPをログ
・敵のHPを直接減らす
・直接はまずい、敵自身に減らさせようという話。中身をいじるのは本人だけ!見るのはOK
・敵のふるまいOnHitShotを実装。中身はログ
・OnHitShotでHPを減らし、HPゼロ以下でDestroy
※余裕がある人は敵の弾、プレイヤーのHP等実装
・敵の弾の実装おそらくショットがあふれるかスピード過多なのでバッファ込み
26
5-1UI (RectTransform)・UIはゲームとは別にトップに表示されるという説明
・UIにはCanvasが必要だと説明
・Imageを一つ作成する
・RectTransformで画像作成
・シフト押しながらでアンカーピボット自動設定、上下左右そろえ
・二重枠中央揃えのHP表示を実装
・外部素材を持ってきて画像切り替え。画像をスプライトに変換

・中央揃えの制限時間実装
・下地付き制限時間に修正
27
5-2HP表示実装・playerにpublicでHPを入れる
・UpdateでplayerのHPを見る。仮でプレイヤーUpdateでHP減らす
スクリプト演習
第4回でHP実装済なのでHP工程減少
28
5-3ゲームオーバー/ゲームクリア表示・ゲームクリア用の仮UIを作成
・仮UIの重要性を説明。デザイナーを待ってはいけない
・ジャッジ用とゴール用の空ゲームオブジェクト作成
・ジャッジスクリプトとゴールスクリプト作成
・ゴールのOnTriggerでpublicのゴールフラグをON
・ジャッジにpublicでゴールとゲームクリアUIへの参照を実装
・ジャッジのUpdateでゴールオブジェクトのフラグを監視、ONでゲームオブジェクトをActiveに
・ゲームオーバー仮UI作成
・クリア後は動かないように(例:player非表示
・ゲームオーバーは制限時間クラスを見てなんとかするよう説明。余裕ある人はプレイヤーの体力も見るように
UI表示を雑にするならActive/非Activeの切り替えで十分と伝える
29
5-4タイトル実装 シーン遷移・新しいシーンを作成
・ボタンオブジェクトを追加
・ボタンオブジェクト用のふるまいをシーン遷移に
・ボタン以外のオブジェクト紹介
30
6-1UIアニメーション・フォルダ分けを説明
・タイトルUIにAnimaterコンポーネント実装
・AnimaterとAnimationウインドウについて説明
・シンプルに上下移動するアニメーションを実装
・背景用の同じく浮遊するモデルアニメーションを実装
・アニメーションにStart,Loop,End,WaitStartを実装
・boolでStartパラメータを実装、ONの時にStart、OFFの時にEnd
・スクリプトからStart,Endを実装
・GameObjectのActive/非Activeと組み合わせると大変なことを軽く伝える
31
6-2パーティクル・パーティクルパラメータを触りだけ説明
・「Over」の意味は「生きている時間すべてにわたって」と説明
・適当当たりエフェクトつくる
・プレハブ化して、球が当たった時にInstantinate
・ParticleSystemDestroyerをアタッチしてゴミが残らないように
32
6-3BGMとプレイヤーSE・LisnerとSourceについて説明
・BGMとしてのSourceを実装
・パーティクル内にSEのSourceを追加
・playerSE内にショット音追加
・プレイヤーが参照してショット時に鳴るように
33
↓アドバンス内容。今回の勉強会ではする余裕なし。a-6~a-8は個別でやりたいところ
34
a-1ルートモーションキャラクターが移動すること込みでのアニメーション
キャラクター移動を自分で完全にコントロールできるかどうか
学校実施分では当たり判定との兼ね合いが微妙だった
35
a-2アニメーションブレンドイーサンの内容で紹介
36
a-2カメラエフェクトPostProcessingStackの理解
37
a-3シェーダーできればShaderForgeしたいけど、基本はアセットストアにあるシェーダーの説明と使い方講座
38
a-4ナビゲーションメッシュ簡単な概念とビルド方法、使い方まで
39
a-5Terrain簡単な使い方
40
a-6iOSビルドとAndroidビルドビルド方法から各機種の注意点、軽量化について等
41
a-7実績とランキング
42
a-8マネタイズの話UnityAds、各社のAdプラグインの紹介(nend等)
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Loading...
 
 
 
シート1
 
 
Main menu