Unityでゲーム作ってるときの雑多メモ
宴3
宴のマウスホイールでバックログが出てしまうのを防ぐにはAdvUguiManagerのDisable Mouse Wheel Back LogをONにする
宴3 マウスホイールで文字送りされるのを防ぐには「Adv Config」コンポーネントの「Is Mouse Wheel Send Message」のチェックを外す
Master Audio AAA 2020
Window>Master Audio > Master Audio Manager ダイアログが開いたらMasterAudio Manager CreateボタンでPrafabを作る。
MasterAudio Prefabの黄色いところに音声ファイルをドラッグすると音が登録できる。
(ここで登録したのはグループのようで、MasterAudioPrefab配下にObjectができる。ここをいじるとグループをいじれるっぽいけどよくわからんので後回し)
ボタンに効果音をつける方法(NoCode)
ボタンにEvent Soundsをアタッチ>SoundSpownModeを「MasterAudioLocation」に変更※→Event To ActiveにButtonClick(uGUI)を設定
※これはAudioListenerがある場所を指定するっぽい?だいたいMain CameraにAudioListenerがアタッチされているはずなので、Rootに置かれている「MasterAudioLocation」にすれば音がなる。(ここで40分くらいハマった)
ButtonClick(uGUI)という枠ができるのでActionのところのSoundGroupに鳴らしたい音(ドラッグしてできたやつ)を指定する。→音がなる。
Unityアニメーション構成要素
- Animation Clip
- Animation Controller
- Animator
Animation Clip
Unityアニメーションを構成する最小要素。
オブジェクトがどのように動くかを定義する。
Animation Controller
AnimationClipの繋がりを設定する。
「待機」「歩く」「走る」などのAnimationClipのフローを設定して、どの条件を満たしたら切り替えるのかを定義する。
Animator
オブジェクトに設定するコンポーネント。
Animation Controllerをセットするにはこいつが必要。
Live2D
アートメッシュに当たり判定を追加する方法
物理演算を一時的に無効にする方法
未整理メモ
- モデル作ってパラメータを設定し終わったあとLive2d側のアニメーションで表現するのか、Unity側のスクリプト制御で表現するのかちゃんと考えておいたほうが良さげ。考えてないとごっちゃになってワリときつい(いまそれ)
モデル作ってパラメータを設定し終わったあとLive2d側のアニメーションで表現するのか、Unity側のスクリプト制御で表現するのかちゃんと考えておいたほうが良さげ。考えてないとごっちゃになってワリときつい(いまそれ)
作ったアニメーションの再インポート方法
- 書き出す
- 新しいアニメーションjsonファイルだけ任意のフォルダに配置する
- 任意のフォルダごとUnityにぶちこむ
- 新しいアニメーションファイルをもとにanimation clipとかできるので差し替える
ボタン押下によって呼び出される関数Aを使ってパラメータをいじろうとと思ったけどできなかった。
たぶんLateUpdate()に書かないと行けないんだと思う。
実際LateUpdate()内に関数Aを書いたらパラメータいじれた(というかいじった内容がLive2dモデルに反映できた)
やるとするならボタン押すとフラグが立って、フラグによって関数Aを呼ぶようにする…とか。ださいか。
今回は関数Aでセットしたいパラメータを事前にアニメーションとして作ることにした。
アニメーションとして登録しておけば後はUnityのAnimatorでなんとでもなる。
なんとかならんかった。なんか変な挙動してるので公式QAで質問する。
やりかた考えないとあかんかも。
Unity Enter Play Modeオプションについて
場所 Edit>Project>Editor>Enter Play Mode Settings にチェックをする
通常(チェックなし)だとコンパイル時やプレイ時にシーンやオブジェクトを破棄して再構築する。
チェックすると時間のかかる破棄と再構築の部分をスキップして初期化だけするようになる。
注意点として破棄と再構築がなくなるので、static変数や、対応していないアセット等があると前のプレイ時の変数が残ってたりして変な動きをしてしまうらしい。
Unity 座標
Unityには座標に種類がある。
ワールド座標、ローカル座標、スクリーン座標、ビューポート座標。
どれがどれかわからんのでメモ。
スクリーン座標
左下を(0,0) 右上を(画面の幅の最大値,画面の高さの最大値)にした座標。
フルHDなら、(0,0)~(1920,1080)となる。
最大値が画面の解像度に依存する。
マウスの座標はこのスクリーン座標で取得される。
ビューポート座標
左下を(0,0) 右上を(1,1)とする座標。
画面の解像度に依存しない。
ワールド座標
Unityの空間の座標を表す。
シーンビューにあるオブジェクトの座標はこれ