Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
なんか衝動的に初心者がUnityで音ゲーをつくった話
Search
しゅう
September 28, 2019
Programming
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なんか衝動的に初心者がUnityで音ゲーをつくった話
奈良高専 TalkCafe #3
しゅう
September 28, 2019
More Decks by しゅう
See All by しゅう
ダサいデザインのつくりかた
shulmj_
0
1.6k
Other Decks in Programming
See All in Programming
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
170
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
1
580
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
Oxlintのカスタムルールの現況
syumai
6
1.2k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
330
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.6k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.4k
さぁV100、メモリをお食べ・・・
nilpe
0
160
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
140
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
160
Inside Stream API
skrb
1
810
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.5k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
480
Paper Plane
katiecoart
PRO
1
52k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Raft: Consensus for Rubyists
vanstee
141
7.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
250
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
210
A better future with KSS
kneath
240
18k
Between Models and Reality
mayunak
4
360
Transcript
で 音ゲー をつくった話 なんか 衝動的 に 初心者 が
しゅう 電子制御工学科 3年 @shulmj_ Q. 好きな食べ物 A. コカ・コーラ
こんなことをしてる (数万年ぶりにTwitterでちょっとバズった) https://github.com/shumm7 AviUtl自作スクリプト「媒介変数図形」 映像をつくります
https://unity.com/ ・無料版あり 年10万ドルまでの商用利用可 ・ガチでゲーム作れる 商業ゲーからインディーズまで ・めっちゃ簡単 C#書けたら なんとかなる 俺でもできるわw
None
Unityを触るのは はじめて もちろんC#もHello Worldくらいしかできない
https://unity3d.com/jp/learn/tutorials 公式チュートリアル 「玉転がし」 改造してゲーム仕様を変更 ボールをキー入力で操作して 黄色いポイントを獲得するゲーム
できるようになったこと 音ゲー作るか ・基本的なUnityの操作 ・C#ぜんぶ理解した ・リジッドボディとかマテリアルとか ・ポストプロセッシングによる画面処理 ・JSONとかCSVの処理 ・Prefabの使い方 ・ベクトルは未だにわからん
ゲームの仕様・目標 ゲーセンの音ゲーっぽく レーンは5列 ノーツの種類:通常, 高得点, スライダー 楽曲・譜面は外部ファイルから取得 入力はとりあえずキーボード 1レーンを3列に分割 計15キー
この15キーでゲーム全体を操作できる なるべく低レイテンシ(遅延)
開発環境 ゲームエンジン Unity 2019.2.0f1 コーディング Visual Studio Community 2019 UIデザイン
AviUtl 1.00
ハ イ ト ー ン
負荷対策 ノーツのオブジェクトを都度生成 →ノーツと音楽のズレにつながる Instantiate (Prefabから複製) Updateメソッド(ループ) 座標・パラメータ設定 ↓ 時 間
が か か る 時間になったら SetActive(ノーツを有効化) Updateメソッド(ループ) 座標・パラメータ設定 あらかじめノーツを生成 (Instantiate)
負荷対策 GetComponent や Destroy メソッドは重い →Updateメソッド や for while内で使わない パフォーマンス>低遅延
→DSPバッファサイズをBest Latencyに Unity Editorには CPUプロファイラが搭載されているので、 逐一確認しながら 負荷の原因となる処理を探っていくのも一つの方法
譜面 https://github.com/setchi/NoteEditor NoteEditor 譜面生成めんどい 新たに規格を設定するのもめんどい ・音楽を読み込むとエディタ上から譜面を作成可能 ・通常ノーツとスライダーに対応 ・譜面はJSONで出力 list.json (曲とカテゴリを紐付け)
data.json (曲の情報) 0.json (各難易度の譜面情報)
UIデザイン 源真ゴシック 風が吹けば桶屋が儲かる 1234567890 WhiteBase Early bird gets the worm
1234567890 KANO Early bird gets the worm (そんなに拘ったわけではない)
UIデザイン バ◦ドリの劣化コピー チュウ◦ズムの劣化コピー
DOTween Pro UIデザイン 1780円 (15USD) Unity Asset Storeで最も 有名なTweenエンジン。 様々なパラメータを滑らかに
変化させる(イージング) 無料版もある! ・オブジェクトの移動、拡大縮小 ・音量、透明度などのフェード ・遅延処理
←コルーチンを呼び出す コルーチン
←DelayedCallメソッドを 呼ぶ ←DOTweenをusing めっちゃ楽 コードがわかりやすい Sequenceという機能を使えば複数の変化動作(Tween)を 連結して、一度に呼び出すこともできる
デモプレイ画面
これからやってみたいこと ・まずは完成させる ・マルチタッチ機能つきペンタブに対応 ・PaSoRiを接続してFeliCaでログインできるように (疑似Aime的なものをつくりたい) ・スマホとかに移植してみたい ・UIの統一感をもうちょっと出したい ・どっかで実演できたら おもしろそう
@shulmj_ shumm7 ↑ リリースできそうだったら ここでやります (大汚スパゲッティコードなので、あんまり中身は見るな)
ご清聴 ありがとうございました