Unity Hackason 2020 メモ
スクリプト
他のオブジェクトにアクセスする方法
まずはpublicもしくはprivateでGameObject型の変数を作る
public GameObject 変数名; でオブジェクト変数を定義。
Inspector内でスクリプトの中にアタッチできる。
子オブジェクトにアクセス
Start()関数内で
変数名 = transform.GetChild(0).gameObject;
で取得できる。
出力関数
Cにおけるprintf関数、C++におけるcoutに相当するのが
Debug.Log関数
Debug.Log ("Hello World!");
などと書く
Is Triggerとは
チェックするとすり抜ける(物理演算はないが、スクリプトは呼び出されたりする)
トリガーにすると、Rigidbody の衝突判定を行わなくなります。ですが、Rigidbody がトリガーの範囲内に「入り」、「出る」ときにコールバックとして OnTriggerEnter、OnTriggerExit、OnTriggerStay が呼び出されます。(スクリプトリファレンスより)
OnTriggerStayメソッド
これもメソッドなので
これはStartメソッドやUpdateメソッドの中ではなく。外に作る。
変数をInspector上でいじりたいけど他のスクリプトから参照されたくない場合
public変数の上に[SerializeFiedl]を書けばよい
オブジェクトの表示のON/OFFを切り替える方法
オブジェクト.SetActive(true/false);
SetActiveとenabledの違い
SetActiveはgameObjectのOn/Off
enabledはgameObjectにアタッチされたComponentのOn/Off
SetActiveとenabledの違いとは? - 三流豆腐。
OnEnable/OnDisableとは
マテリアルの作成
Assets → Create → Material
テキストの作成について
TextMeshProというのを使うときれいにできるらしい。
GitHub + SourceTreeについて
一番最初
GitHubの画面からCode→リンクをコピー
SourceTreeで新しいタブを開く→Clone→URLをペースト
masterにマージするまでの流れ
コミット(自分のローカルに保存)→プッシュ(サーバーに挙げる)→プルリク
プルするときにエラー
エラーの原因がメタファイルならば廃棄してOK
メタファイルとは、ファイルの位置データのようなもの
Unity上の操作
複数シーンを同時に編集
追加して開きたいシーンを右クリックし、Scene Additiveを選択
オブジェクトを選択してFを押すと、そのオブジェクトに向かって拡大する
便利
ぶち当たった問題
物つかめない問題
原因はLayerがPlayerになっていたこと。
LayerをGlabbableにしたら解決。
参考記事
食中毒シーンでお世話になった
【Oculus Quest開発メモ】物を掴む、物を投げる OVR Grabber & Grabbable編【Unity】 - Raspberlyのブログ
【Oculus Quest開発メモ】離れた場所にある物を掴む Distance Grabber & Grabbable編【Unity】 - Raspberlyのブログ
//Oculusで離れた場所にあるものをつかむことを実装するのに参考になりました。
【Unity】Button(ボタン)をクリックすると色が変わるようにする方法【Script】 | PACPLE
//肉の色を変えるスクリプトを書くのにお世話になった
【Unity入門】1からわかる当たり判定!衝突や判定方法を学ぼう | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト
//当たり判定の基本
【Oculus Quest】UnityでOculus Touchコントローラーの表示と入力取得 | ちりつもぶろぐ
//Oculusコンの入力を受け取る
[https://xr-hub.com/archives/14465:title=【Unity】時間を計測するタイマークラスをつくってみる - Qiita]
//カウントアップの処理を作るのにお世話になった
通り魔シーンの作成でお世話に
Unityで環境光のライティングを利用する - MRが楽しい
//directionライトではなく環境光を設定する方法