Open10

Unityでゲーム作ってるときの雑多メモ

m0n0rem0n0re

宴3

宴のマウスホイールでバックログが出てしまうのを防ぐにはAdvUguiManagerのDisable Mouse Wheel Back LogをONにする

宴3 マウスホイールで文字送りされるのを防ぐには「Adv Config」コンポーネントの「Is Mouse Wheel Send Message」のチェックを外す

m0n0rem0n0re

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に鳴らしたい音(ドラッグしてできたやつ)を指定する。→音がなる。

m0n0rem0n0re

Unityアニメーション構成要素

  • Animation Clip
  • Animation Controller
  • Animator

Animation Clip

Unityアニメーションを構成する最小要素。
オブジェクトがどのように動くかを定義する。

Animation Controller

AnimationClipの繋がりを設定する。
「待機」「歩く」「走る」などのAnimationClipのフローを設定して、どの条件を満たしたら切り替えるのかを定義する。

Animator

オブジェクトに設定するコンポーネント。
Animation Controllerをセットするにはこいつが必要。

m0n0rem0n0re

Live2D

アートメッシュに当たり判定を追加する方法

https://docs.live2d.com/cubism-sdk-tutorials/hittest/

物理演算を一時的に無効にする方法

https://creatorsforum.live2d.com/t/topic/1187/2

未整理メモ

  • モデル作ってパラメータを設定し終わったあとLive2d側のアニメーションで表現するのか、Unity側のスクリプト制御で表現するのかちゃんと考えておいたほうが良さげ。考えてないとごっちゃになってワリときつい(いまそれ)
m0n0rem0n0re

モデル作ってパラメータを設定し終わったあとLive2d側のアニメーションで表現するのか、Unity側のスクリプト制御で表現するのかちゃんと考えておいたほうが良さげ。考えてないとごっちゃになってワリときつい(いまそれ)

m0n0rem0n0re

作ったアニメーションの再インポート方法

  1. 書き出す
  2. 新しいアニメーションjsonファイルだけ任意のフォルダに配置する
  3. 任意のフォルダごとUnityにぶちこむ
  4. 新しいアニメーションファイルをもとにanimation clipとかできるので差し替える
m0n0rem0n0re

ボタン押下によって呼び出される関数Aを使ってパラメータをいじろうとと思ったけどできなかった。

たぶんLateUpdate()に書かないと行けないんだと思う。
実際LateUpdate()内に関数Aを書いたらパラメータいじれた(というかいじった内容がLive2dモデルに反映できた)

やるとするならボタン押すとフラグが立って、フラグによって関数Aを呼ぶようにする…とか。ださいか。

今回は関数Aでセットしたいパラメータを事前にアニメーションとして作ることにした。
アニメーションとして登録しておけば後はUnityのAnimatorでなんとでもなる。

m0n0rem0n0re

なんとかならんかった。なんか変な挙動してるので公式QAで質問する。
やりかた考えないとあかんかも。

m0n0rem0n0re

Unity Enter Play Modeオプションについて

場所 Edit>Project>Editor>Enter Play Mode Settings にチェックをする

通常(チェックなし)だとコンパイル時やプレイ時にシーンやオブジェクトを破棄して再構築する。
チェックすると時間のかかる破棄と再構築の部分をスキップして初期化だけするようになる。

注意点として破棄と再構築がなくなるので、static変数や、対応していないアセット等があると前のプレイ時の変数が残ってたりして変な動きをしてしまうらしい。

https://docs.unity3d.com/ja/2019.4/Manual/ConfigurableEnterPlayMode.html

https://www.youtube.com/watch?v=ThoWjnNR6F4

m0n0rem0n0re

Unity 座標

Unityには座標に種類がある。
ワールド座標、ローカル座標、スクリーン座標、ビューポート座標。

どれがどれかわからんのでメモ。

スクリーン座標

左下を(0,0) 右上を(画面の幅の最大値,画面の高さの最大値)にした座標。
フルHDなら、(0,0)~(1920,1080)となる。
最大値が画面の解像度に依存する。

マウスの座標はこのスクリーン座標で取得される。

ビューポート座標

左下を(0,0) 右上を(1,1)とする座標。
画面の解像度に依存しない。

ワールド座標

Unityの空間の座標を表す。
シーンビューにあるオブジェクトの座標はこれ

https://tsubakit1.hateblo.jp/entry/2014/07/22/010739