2017年度 デジタルアーツ東京 ゲームプログラミング1年生用リポジトリー
- UniRxとZenject https://github.com/dat17/gp1/wiki/UniRx%E3%81%A8Zenject%E3%83%A1%E3%83%A2
- http://assetsale.hateblo.jp/entry/RageSpline
- GitHub LFSの利用
- Physics https://docs.unity3d.com/ja/current/Manual/PhysicsOverview.html
- https://github.com/dat17/gp1/raw/master/RigidbodyRensyu.zip をダウンロードして開く
- Colliderの種類と衝突の組み合わせ
- Character Controller
- 高速移動時の対応
- 練習問題
- CollisionRensyuをダウンロードして、Unityで開く。test1とtest2という2つのシーンがあり、それぞれに問題が表示されるので、指示通りに操作をして、解答せよ
- test1とtest2が完成したら、保存をしてUnityを閉じて、指定のフォルダーにコピーして提出せよ
- 提出先のフォルダー内に「問題2.txt」というテキストファイルがあるので、Notepadなどで開く。氏名を入力した後、問題に解答して、答え終わったら上書き保存してNotepadを閉じよ。
- プロジェクトにUnityコラボとCloud Buildを設定
- WebGLでビルド
- ビルドが完了したら、UnityRoomに作品を仮投稿
- 不具合があれば直す
- UnityRoomのスクリーンショットについて(仮のものを作っておく)
- http://am1tanaka.hatenablog.com/entry/2017/07/03/232748
- ScreenPresso. スクリーンショットや画面動画の撮影ツール
- Download > Download Screenpressボタン > メールアドレスを入力してDownload > 実行 > ユーザー個人でインストールしたらできたと思った
- 各自、作業
- RFC. MUST, MUST NOTなど、要求レベルを表すキーワード
- Unity上で形状を作成できるアセット ProBuilder Basic
- ProBuilder Documentation
- ゴマちゃんフロンティア 【Unity】「ProBuilder Basic」を使ったシンプルなステージ作成
- テラシュールブログ 【Unity】ProBuilder Basicでコーネルボックスを作ってみる
- コーネルボックス(cornell box)とは
- コーネル大学が提唱した物理ベースレンダリング(physically based rendering)を理解するための箱を配置したモデルのこと
- DATフェスタ進捗確認、作業
- 講義メモ
- TODOリストの確認。未作成の場合は、その場で話し合いながら作成
- タイトルは作業内容を書く
- 期限はマイルストンで設定
- 「緊急」と「やった方がいい」は期日なしで使い回す
- 「やるべきこと(必須)」は期日付きにする。期日だけでも良い
- 作業担当者をAssignする
- バグを見つけたら
- 以下を参考にラベルをつけて、Issuesに登録する
- UI https://docs.unity3d.com/ja/current/Manual/UICanvas.html
- キャンバスのモードについて
- Rect Transformツール
- DATフェスタ作業
- 講義メモ
- Audio
- Audio Clipの種類 https://docs.unity3d.com/ja/current/Manual/class-AudioClip.html
- BGMの再生
- SEの再生
- 3Dサウンド
- できたらAudio Mixer https://docs.unity3d.com/ja/current/Manual/AudioMixer.html
- DATフェスタ作業
- Unity Analyticsの設定とイベントの設定(Clearとゲームオーバー) - 反映は1日後なので、とりあえず仕込んだ状態
- プロジェクトを作る
- Unity Collaborateをメンバーで設定(デザイナーがいれば、デザイナーにもUnityライセンスを取らせて、登録して、使わせる)
- 画面の解像度を決めて、Unityに設定する
- プラットフォームは? - スマホなら、ターゲットの端末を決めて、その解像度を調べてそれにする - PCの場合、展示環境を調べて、そのモニターの解像度
- できれば、この時点でシーンの切り替えを実装しておく - タイトル、ゲーム中、ゲームオーバー、クリアなどを実装して、切り替えられるようにする - ゲームオーバーになってから、新しくゲームを始めるとき、あるいは、ステージクリア時に正しくパラメータが初期化されたり、更新されるようにする - スコア、ステージ数、プレイヤーの残り数などを、ちゃんと管理する
- 早めに完成のゲーム画面の雰囲気を整えておく - 背景、ライティング(光の設定)、画面効果、ユーザーインターフェースを、動かない状態でよいので、綺麗に仕上げてみる - 1日ぐらいかけて、早いうちに設定をしておくとよい
- Unity Cloud Buildなど、実行ファイルを早めに作成して、動きを確認しておく
以上を仕込んでから作り始めるとよい。
- データのやり取りではなるべくUSBなどは使わない
- 早めに完成画面のイメージを掴む
- 早めにビルドしておく
- 同じものは複数作らず、プレハブ化する
- 一人5分~10分程度
- 作品をネットドライブにコピーしておいて、教卓PCで実行して、解説
- 発表内容は以下の通り
- 作品名
- 作品の概要
- 操作方法
- ゲームのルール
- どこを自分で開発したか
- 利用したアセットやチュートリアルを、全て紹介
- 各内容については、 https://unityroom.com/ の作品を何本か確認して、どのように書けば分かりやすいかを研究して、工夫すること
以下の要領で、発表について評価をしてください。
- A2以下に、発表者の名前を入力
- 発表者の行のB列に、作品の出来について、大変よくできていたら3、よくできていたら2、普通なら1、ダメなら0
- 同様に、C列に、プレゼンの分かりやすさや聞きやすさについて、同じく3~0
- D列には、感想や、改良点、提案などを自由に入力
以下、注意のこと。
- B列とC列の点数は、3~1をバランスよく配分すること
- 点数とコメントは、誰が書いたかを伏せて発表者に伝える。コメントは、参考になりそうなアドバイスを書いて欲しい。自分のことは棚にあげることが大事
- WebGLビルド(できなければUnity Collaboで)
- Unity Collabo を使ったチーム開発
- Paizaスキルチェック
- GitHubの整備 - Tyrano Scriptの背景を変更するまで - Visual C#で、ラベルを沢山表示して、画面を跳ね返らせて、速度を乱数で設定 - Unityのyoketoru
- Unityのアップデート
- Googleワークシートで評価シートを作成して、講師に共有
- 発表準備
以下の要領で、発表について評価をしてください。
まずは準備。
- https://drive.google.com を開く
- Googleにログインしていなかったら、 Gmail アカウントでログイン
- 左上の[新規]ボタンを押す
- [Googleスプレッドシート]を選択
- 上の[無題のスプレッドシート]をクリックして、「発表評価0908苗字」に書き換える(苗字の部分は、自分の苗字に書き換え)
- B1に「作品点」と入力
- C1に「プレゼン点」と入力
- D1に「コメント」と入力
- 右上の[共有]をクリック
- 指示されたメールアドレスを入力して、[送信]を押す
現在のUnityをアンインストール。
- [スタート]メニュー > [コントロールパネル] > [プログラムと機能]を選択
- [Unity]を見つけて、右クリック > [アンインストールと変更]を選択
- [はい](or yes)をクリック
- [スタート]メニュー > すべてのプログラムを選んで、Unityの古いフォルダーが残っていたら、右クリックして削除する
[Microsoft Visual Studio 2015]があったら、同様にアンインストール。
Unityの最新版をインストールする。
- https://unity3d.com/jp/get-unity/update を開いて、Unity2017.1.1 のインストーラーをダウンロード
- インストーラーを起動
- [Next] > [I accept the・・・]にチェック > [Next]
- 以下にチェックが入っているのを確認。不要なチェックがあれば外す
- Unity2017.1.1 f1
- Standard Assets - Visual Studio 2017 Community・・・ - Android Build Support
- WebGL Build Support
- 以上、チェックを設定したら、[Next]
- そのまま、[Next]
インストールが完了するまで待つ(次のPCへ)
インストールが完了したら、以下を作業して、途中で管理者の要求が表示されたら[許可]をする
- Unityを起動する
- NEWプロジェクトを名前はそのままでよいので作成
- C# Scriptを作成
- 作成したスクリプトファイルをダブルクリックして、Visual Studioが起動するのを確認
以上できたら、起動したプログラムを全て閉じて、ログアウトして、GP12でログインしなおす。
以下、設定。
- Unityを起動
- 先ほど作成した New Unity Project をLOAD
- [Edit] > [Preferences...]を選択
- 左から[External Tools]を選択
- [External Script Editor]を[Browse...]に設定
- 以下のパスを設定
- C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe
- JDK 欄の[Browse]をクリック
- パスが自動的に設定されるので、[フォルダーを選択]をクリック
- [Layout]を[2 by 3]に
- [Project]ビューの右上のハンバーガーメニュー(三)をクリックして、[One Column]を選択
以上で完了。
- 今回(13回目)の講義の動画目次
- 前回(12回目)の講義の動画目次
- 前回の金曜日欠席の人
- https://github.com/dat17/yoketoru を開く
- 右の[Clone or Download]ボタンをクリックして、[Download ZIP]をクリックしてダウンロード
- ダウンロードが完了したら、ファイルを開く
- スタートメニューから、コンピュータを開いて、[ライブラリ]>[ドキュメント]>[パブリックのドキュメント]>[Unity17]フォルダーを開いておく
- フォルダーが開くので、[yoketoru-master]フォルダーをドラッグして、上で開いた[Unity17]フォルダーにドロップしてコピー
- \LANDISK-A601\disk\2017年\学生用フォルダー\GP_1\gameprograming13 フォルダー内に、半角英数で、苗字のフォルダーを作って、その中に、キャラクターの差し替えと、BGM/SEが入ったUnityのプロジェクトフォルダーをコピーして提出
- 以上が完了したら、夏休みの課題の作業を開始する
- yoketoruに新しい要素を入れる or 別のプロジェクトを探す or オリジナルの企画を考える etc...
- 今回のデスクトップ動画のライブ配信
- キャラクタープレハブの作成
- AssetStoreで、キャラクターと背景をインポート
- プレイヤー
- アイテム
- 敵
- 背景
- BGMと効果音の再生
- 鳴らすタイミング
- タイトル画面でスタートした時の効果音
- ゲーム中のBGM。ループ再生する
- アイテムを取ったときの効果音
- 敵にぶつかった時の効果音
- ゲームオーバージングル
- クリア曲
- タイトルは無音
- 手順
- リソースを探す
- 著作者名とURLをGitHubのREADME.mdに書く
- 再生方法をWebで検索して、実装する
- 鳴らすタイミング
- プレイヤーのアセット
- アイテムのアセット
- 敵のアセット
- 背景のアセット
Unity、Phaser、その他の環境でも可。ミニゲームを開発する。
- 完全なオリジナルでなくてもよい
- 講義で作成したyoketoruを改造したもの
- Webで見つけたチュートリアルを改造したもの
- AssetStoreのプロジェクトを改造したもの
- 書籍のサンプルを改造したもの
- yoketoruの場合、以下のような要素を追加してみよう
- 障害物を作る
- 弾を撃つ
- 敵の動きのバリエーションを増やす
- 演出(パーティクル)
- 画面を綺麗にする
- チュートリアルの例
夏休み明けに、以下の要領で発表会を行う。
- 一人5分~10分程度で発表
- 作品をネットドライブにコピーしておいて、教卓PCで実行して、解説
- 発表内容は以下の通り
- 作品名
- 作品の概要
- 操作方法
- ゲームのルール
- どこを自分で開発したか
- 利用したアセットやチュートリアルを、全て紹介
- 各内容については、 https://unityroom.com/ の作品を何本か確認して、どのように書けば分かりやすいかを研究して、工夫すること
- 暗くなるのを解決する
- ゲームオーバー、クリア時に処理を止める
- ボールや敵の出現を、
Spawner
オブジェクトにする(Awake
にする必要がなくなる)
- MoveBall.cs の
Start
の処理は、Awake
にした方がよい- ゲームオブジェクトのインスタンシエイトを実行してから、
Start
が動くまでに時間差があり、その間に当たり判定が動いてしまうと、不測の事態になる - そこで、インスタンシエイト直後に呼び出される
Awake
に座標の設定を変更することで、このような不具合を防ぐ - ただ、今回、出現処理を変更するため上記の不具合は自然に解消する
- ゲームオブジェクトのインスタンシエイトを実行してから、
- Unity3D Japan 【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス
- 【第13回】東ゲ部もくもく会
- 2017-07-16(日)10:30 - 18:00
- 1,000円 会場払い
- 申込締切 7月16日 17:00
- ゲーム業界の声
- 今回のデスクトップ動画のライブ配信
- スコアの実装
- hanekaeri から移植
- 今回のデスクトップ動画のライブ配信
- 新しいUnityプロジェクトを作成
- GitHubに登録
- 状態遷移についてスライド
- 状態遷移を作る
- プレイヤー用のアセットを読み込む
- 今日のデスクトップ動画
- 前回やったことの復習
- Unityの乱数
- ボールの数を数える(static)
- マウス移動
- ベクトルについて
- 移動速度に上限を設定
- キャラクターを見分ける(Tag)
- 1コマ目 C#
- C# 違う変数型への代入方法
- switch文
- マウス入力
- オフセットとピボット
- コミットとSync
- ifその2。複合で当たり判定
- 2コマ目 Unity
- 同じプレハブから作成したオブジェクトの共通の振る舞いを設定するには、プレハブで作業する
- OnMouseEnter()を使う
- Debug.Logで表示
- Destory()でオブジェクトの削除
- SetActive()で有効・無効の切り替え
- 文字表示
- ゲームマネージャー
- 空のゲームオブジェクト(Empty)
- Inspectorで、Hierarchyのオブジェクトを渡す方法
- public変数
- 物理エンジンの時間を止める
- 今日のライブストリーミング
- 乱数
- for文
- 配列
- 以上、成果物
- Google Chrome を起動して、 https://github.com を表示
- 右上の Sign in をクリックして、サインインする(すでに自分のアカウントでサインインしていたらこの手順は不要。他人のものだったら、右上のアイコンをクリックして、[Sign out]を選択してサインアウトしてから、改めて Sign in する)
- 自分のアカウントの csharp-manual リポジトリーを削除
- https://github.com/dat17/csharp-manual を右クリックして、新しいウィンドウで開く
- 開いたウィンドウの画面右上の[Fork]をクリック
- https://github.com/tanakaedu/move-labels を右クリックして、新しいウィンドウで開く
- 開いたウィンドウの画面右上の[Fork]をクリック
- GitHub Desktopを起動
- 自分のアカウントでログインしているか確認
- 画面左上の[+]をクリック
- [Clone]をクリック
- move-labelsをクリックして、Clone
- クローン先は、そのままの場所で良いので、そのまま[OK]
以上。
- 今日のライブストリーミング
- switch文と変数の型変換の表を完成させる
- マウス操作
- if文その2 マウスと重なったら停止
- Unityのhanekaeriを読み込んで、同じ動きをUnityで実装して、違いを比較する
- 前回の復習
- 演習8-1から、一通り手順に従って進めて、ラベルが画面内を跳ね返るプログラムを完成させよう
- 跳ね返り座標を計算するためのイメージ
- GitHubに、move-labelsでプッシュ済み
- Unityのhanekaeriを読み込んで、同じ動きをUnityで実装して、違いを比較する
- GitHubに、hanekaeriでコミット。プッシュはしてない
- github を開いて、 sign in する
- Visual Studio 2013 を起動して、 if-rensyu というプロジェクトを作成しておく
- 前回の復習
- ifというプロジェクトを作成して、ボタンをタイマーで動かして、クリックすると移動方向が逆になるプログラムの作成
- 変数からifまで
- 画面端での跳ね返りについて考察して、次回までに検討
- Unityでボールを動かす
- コントロールの続きから
- 画像、タイマーなどを確認
- 変数について導入
- 前回の復習
- 新しいプロジェクトを move-button という名前で作成
- 1つのボタン+十字に配置した4つのボタンで思いつくことをやってみる
- 計算の続きから、プロパティーの確認まで
- Paiza LearningでC#の #2 の5つの演習
- 前回やったことの復習(day170512)
- C# 書く教科書のプログラミングの肝
- エラーとデバッグ(error)
- プロパティの確認
- ボタンをクリックしたら、表示内容を変更したり、消えるボタンを作る(error)
- 計算
- ボタンをクリックしたら、右に移動したり、右下に移動したり、左上に移動させる(calc)
- C# 書く教科書 はじめ方
- Tyrano Script
- e-typing練習
- SMSの設定確認
- ガイダンス-プログラミングとは
- ユーザー登録
- Unity / Paiza
- Visual Studioを試す
- Unityを試す
- ドットインストールでの学び方
- Paizaでの学び方