0-1からdbへの変換は以下の式がいいっぽい。
static float LinearToDb(float from01) => 20 * Mathf.Log10(Mathf.Clamp(from01, float.Epsilon, 1f)); //こっちだとあんまり直線的じゃない -80f * Mathf.Clamp01(1 - from);
float.Epsilonとかいうのを使わないとlog 0 になって良くないっぽい
0-1からdbへの変換は以下の式がいいっぽい。
static float LinearToDb(float from01) => 20 * Mathf.Log10(Mathf.Clamp(from01, float.Epsilon, 1f)); //こっちだとあんまり直線的じゃない -80f * Mathf.Clamp01(1 - from);
float.Epsilonとかいうのを使わないとlog 0 になって良くないっぽい
よくわからないが、EventSystemがあってStandalone Input Moduleがない状態だと動かず、ある状態だと動くという現象を確認した。
間違ってるかも。
Projectからでも作れるが、以下の方法で行うと参考になる。空のGameObjectにPlayer Inputコンポーネントをつけ、Create Actions...する。
その後そのGameObjectは削除して良い。
Action Mapが操作対象、Actionが操作で、その下位のものが操作に使う手法、その下位が(あるなら)実際のキーにになると思われる。
[SerializedField] private InputActionAsset inputActionAsset; [SerializedField] private string moveActionName = "Move"; private InputAction moveAction; private void Start(){ moveAction = inputActionAsset[moveActionName]; moveAction.Enable();//これがないと動かないよう? } private void Update(){ var vec2 = moveAction.ReadValue<Vector2>(); transform.position += new Vector3(vec2.x, vec2.y, 0f);//などなど }
googleの検索言語は英語onlyでいい。
この状態で日本語で検索すると、やむを得ず日本語のページを出してくる。言語あってますか的なウィンドウが邪魔なら、アドブロックかなんかで対応すればいいはず。
serializedpropertyをlistにいれてcacheにしようとしてもだめだった
というかpropertydrawerは一個が使い回されます!要注意
逆にList
unitypackageを開いたら被りがあって上書きされてしまう!
:勝手にGUIDが変わる 別にいい
:ファイル名が重複していて上書きされてしまう!
とにかくのマークをなんとかしないと、上書きされてしまう。
アセットをCtrl+Dで複製したあとにただImportする。
アセットの名前/パスを変更した後にImportする。
これらの処理を自動化するには、
などが考えられる。
↓考えすぎ
***元のファイルのGUIDを変更する方法
非推奨
まずシーンを保存する。こうしないと恐らく「変更されました」通知が出た後、保存するとシーンに対して効果がなくなり、また保存しないとおじゃんになる。
1. Add package from git URL https://github.com/jeffjadulco/unity-guid-regenerator.git
2. 一旦unitypackageを開く
3. 警告⚠マークになっているところのhelpboxに競合先が書いてあるため、そのファイルすべてをRegenerate GUIDする。
思ったより待ち時間が必要(自分の場合は20分程度, Assetsフォルダは12GB, 約2万ファイル)で全く現実的でない。(ちなみにタスクマネージャのディスク使用率は大体3-5%だったので、ドライブの速度はあまり問題にはならなそう。)一気にregenerateしたほうが良い。
入れるunitypackage内でguidが完結しているはずだから、unitypackage(tar.gz)を解凍した後、guidを全部置換して、再度圧縮して、unitypackageとしてインポートする。スクリプトじゃないときつそう。
1. 一旦unitypackageを開く
2. 警告⚠マークになっているところのhelpboxに競合先が書いてあるため、そのファイルすべてを複製する
3.手作業で修復する