狠狠撸

狠狠撸Share a Scribd company logo
AR基礎
~アプリ開発編~
2018/06/11
SA 渋谷新樹
実装する機能一覧
? 3Dモデルキャラクター(みここ)の表示、回転
?手動回転
?自動回転
? 础搁シューティングゲームの基本
?敵の自動生成
?クリックして敌を破壊する
みここのダウンロード
? みこことは
→今をにぎわすバーチャルのじゃロリ狐娘Youtuberおじさん
? ダウンロード先
https://bowlroll.net/file/152466
? 他の配布されているモデルや
自分で作ったモデルなどでも可
みここのインポート
? MikokoModelフォルダは
document>Unityの下に保
存
? Asset内で右クリック>
Import Package>Custom
Package>
MikokoModelunitypackage
みここの表示
? Assets>Mikokoオブジェクトを
ImageTargetにドラッグ&ドロッ
プ
? ImageTargetがない場合は前回の
資料「ARマーカー登録手順」を参
照
表示された镑镑
次はみここを回転させてみよう!
? プログラムは実際に一緒に書いていきます。
? mikokoController.csを作成、以下を記述
? 書いたスクリプトはMikokoにアタッチ!
? MikokoのAdd ComponetからBox Colliderをつける
手動回転プログラム
自動回転ボタンの作成
? Canvas作成
Create>UI>Canvas
? ボタン作成
Canvasの上で右クリック>UI>Button
ButtonをAutoButtonにRename
? ボタン移動
Canvasをダブルクリック、ボタンを好きな場所に移動
※スクショが見たい場合はCodeGeniusの「UIボタンの使い方」参照
? mikokoControllerに以下を追加
自動回転プログラム
この行を追加!
? C#スクリプトを作成
? 名前をAutoRotateに変更、以下を記述
? AutoRotateをCanvasにアタッチ
? できたら実行して、ボタンを押してみよう!
自動回転プログラム
? autoButtonを選択、onClickの+をクリック
? 出現した空欄に「Canvas」をドラッグ&ドロップ
? No Functionをクリック
AutoRotateを選択→「OnAutoButtonClicked()」をクリック
? 実行して、作成したボタンを押してみよう!
自動回転プログラム
自動回転プログラム
? だけど、このままじゃ回転が止まらない><
? 時間があったら、stopRotateも作ってみよう!
? stopRotateのヒント
?ボタン作成までの手順は同じ
?rotateFlagをFalseにする
础搁シューティングゲームの基本
敵の自動生成
? オブジェクトを複製する「工場」の作り方を覚えよう!
敵の作成
? Sphereを作成、名前をEnemyに変更
? 色、大きさを自由に設定
? Rigidbodyをつける
Enemyを選択
「Add Component」→「Physics」→「Rigidbody」
? Hierarchyに残った青いEnemyオブジェクトは削除!
敵のプレハブ化
ドラッグ&ドロップ!
プレハブとは?
? 設計図のようなもの
? 設計図さえあれば、いくつでも同じものを作ることができる
設計図(プレハブ)
製品(インスタンス)
コピーでいいのでは?
例えば、10体の敵の色を白色から赤色に変えたいと思った場合
? 敵をコピーして使っていた場合
? 10体の敵すべてを個別に変更しなくてはならない
? プレハブを使った場合
? プレハブの色を変えるだけで、10個の敵すべてに変更が反映される
敵を自動生成するスクリプトの作成
? enemyGeneratorというC#スクリプトを作成
? ジェネレータスクリプトとも呼ばれる
别苍别尘测骋别苍别谤补迟辞谤.肠蝉の中身
スクリプトはどこにつければいい?
※Unityのスクリプトはオブジェクトにアタッチすることで作動するようになります
スクリプトを付ける先がない!
? 空のオブジェクト(工場オブジェクト)を作ればよい
? Create Empty → enemyGeneratorに変更
? enemyGeneratorオブジェクトにenemyGeneratorスクリプトをド
ラッグ&ドロップ
? enemyGeneratorオブジェクトを選択、Enemy Prefabにプレハブ化
したEnemyをドラッグ&ドロップ、発射速度を設定
※Enemyのusegravityにチェックがついている場合は外す
工場の作り方 まとめ
1. 既にあるオブジェクトを使ってプレハブ(設計図)を作る
2. ジェネレータスクリプトを作る
3. 空のオブジェクトにジェネレータスクリプトをアタッチ
4. ジェネレータスクリプトにプレハブを渡す
クリックして敌を破壊
クリックして敌を破壊したい
? 敵オブジェクトとmouse座標が重なったうえで、クリックされ
たとき、破壊されるようにすればよい。
? EnemyにsphereColliderをつける
? 次ページのスクリプトdestoroyEnemy.csをARカメラにアタッ
チ
敵オブジェクトとmouse座標の交差判定
destroyEnemy.cs
照準の表示(余力があれば)
aim.cs
今后も様々な机能を追加していきましょう!

More Related Content

Similar to ARdevelopment (6)

unity build on github actions
unity build on github actionsunity build on github actions
unity build on github actions
Daiki Mogmet Ito
?
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
Koichi Ota
?
Introduction of Swift from Game Development
Introduction of Swift from Game DevelopmentIntroduction of Swift from Game Development
Introduction of Swift from Game Development
Daisuke Yamashita
?
ノンプログラミングで始める AR 開発入門
ノンプログラミングで始める AR 開発入門ノンプログラミングで始める AR 開発入門
ノンプログラミングで始める AR 開発入門
Takashi Yoshinaga
?
可视化法学(蝉迟耻诲测肠辞诲别编)
可视化法学(蝉迟耻诲测肠辞诲别编)可视化法学(蝉迟耻诲测肠辞诲别编)
可视化法学(蝉迟耻诲测肠辞诲别编)
(shibao)芝尾 (kouichiro)幸一郎
?
プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3
プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3
プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3
Yoh Nakamura
?
unity build on github actions
unity build on github actionsunity build on github actions
unity build on github actions
Daiki Mogmet Ito
?
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
Koichi Ota
?
Introduction of Swift from Game Development
Introduction of Swift from Game DevelopmentIntroduction of Swift from Game Development
Introduction of Swift from Game Development
Daisuke Yamashita
?
ノンプログラミングで始める AR 開発入門
ノンプログラミングで始める AR 開発入門ノンプログラミングで始める AR 開発入門
ノンプログラミングで始める AR 開発入門
Takashi Yoshinaga
?
プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3
プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3
プロジェクトを成功させるための期待マネジメント冲中村洋冲础-3
Yoh Nakamura
?

ARdevelopment

Editor's Notes

  • #10: テキスト、サイズ、色などは自由に変えてください
  • #11: ボタン作成 Create>UI>Canvas
  • #12: ボタン作成 Create>UI>Canvas この段階ではまだ動きません。
  • #13: ボタン作成 Create>UI>Canvas
  • #28: RaycastHit レイを飛ばした際に、衝突したオブジェクトの情報を得るために使用されます。
  • #29: この2つは統合できそう ただ、1つプログラムに複数の機能がごちゃまぜになるとプログラムが分かりづらく、なってしまうおそれもあるので、この辺はお好みで。