Page 1 of 1

タイトル部分や三角部分をタップしても反応しない場合が多い

Posted: 2019/04/17 23:27
by kkk
Unityバージョン 2018.3.6f1
Arborバージョン 3.5.0
OS. MaxOS Mojave 10.14.4

再現動画
https://32.gigafile.nu/0425-ce8486f2bf7 ... d50ac56a05

Stateの挙動のタイトル部分や三角部分をタップしても反応しないときが多く、何度もタップが必要になってしまいます。
反応しないときは、タイトルをドラッグしたときのような挙動になります。
ドラッグの判定が小さすぎるか、マウスを動かしたあとは、止めても動いてる判定?しているのではないでしょうか?

よろしくおねがいします。

Re: タイトル部分や三角部分をタップしても反応しない場合が多い

Posted: 2019/04/18 00:52
by caitsithware
ご報告ありがとうございます。

確認環境:
  • Unity 2018.3.12f1
  • Arbor 3.5.0
  • macOS Mojave 10.14.4(Mac mini Late 2014)
  • Logicool G703
当方の環境では、Win/Mac両用マウス(比較的最近購入したばかり)で確認しているため、マウスボタン押下時にカーソルの位置がぶれないために再現確認できない状況です。
ですが、ドラッグ判定が小さすぎるため、トラックパッドを使用していたりマウス感度設定によってはボタンを押下しただけのつもりでもドラッグ判定になってしまっているようですね。

タイトル部分のドラッグの判定方法を見直して修正いたします。

修正作業はすぐに終わるかと思いますが、アセットストアの提出審査に数日かかる可能性があります。
修正箇所が確定し次第、暫定対処方法としてソースの変更箇所をお知らせいたします。
それまでの間、もしマウスをお持ちでしたらマウスを使用していただき、感度の調整なども行ってみてください。

ご不便おかけして申し訳ございませんがよろしくお願いいたします。

Re: タイトル部分や三角部分をタップしても反応しない場合が多い

Posted: 2019/04/18 01:58
by caitsithware
ひとまずドラッグ開始判定の見直しを行ってみました。
暫定対処方法として以下の方法をお試しください。

暫定対処方法:
  1. Assets/Plugins/Arbor/Internal/Editor/BehaviourEditorGUI.csをコードエディタで開く。
  2. 100行目あたりを変更。

    Code: Select all

    private static int s_BehaviourTitlebarHash = "s_BehaviourTitlebarHash".GetHashCode();
    private const float kBehaviourTitlebarDragRange = 5f; // 追加
    private Vector2 _BehaviourTitlebarMouseDownPosition; // 追加
    
  3. 266行目あたりを変更。

    Code: Select all

    if (current.button == 0 && (Application.platform != RuntimePlatform.OSXEditor || !current.control))
    {
    	GUIUtility.hotControl = GUIUtility.keyboardControl = controlId;
    	_BehaviourTitlebarMouseDownPosition = current.mousePosition; // 追加
    	current.Use();
    }
    
  4. 275行目あたりを変更。

    Code: Select all

    if (GUIUtility.hotControl == controlId && current.button == 0)
    {
    	Vector2 delta = current.mousePosition - _BehaviourTitlebarMouseDownPosition; // 追加
    	if (delta.magnitude >= kBehaviourTitlebarDragRange) // 追加
    	{ // 追加
    		GUIUtility.hotControl = 0;
    
    		if ((object)_BehaviourObj != null)
    		{
    			BehaviourDragInfo.BeginDragBehaviour(_BehaviourObj, controlId);
    		}
    
    		current.Use();
    	} // 追加
    }
    
問題なさそうであれば次バージョンに適用いたしますので、ご確認お願いいたします。

Re: タイトル部分や三角部分をタップしても反応しない場合が多い

Posted: 2019/04/18 07:05
by kkk
返答ありがとうございます。

指定の修正方法で試しましたが、
kBehaviourTitlebarDragRange = 5f;
では、まだドラッグのような動作になました。
20.0fなら、問題は起きなくなるようです。

よろしくおねがいします。

Re: タイトル部分や三角部分をタップしても反応しない場合が多い

Posted: 2019/04/18 07:57
by caitsithware
ご確認ありがとうございます。

kBehaviourTitlebarDragRangeが20fとなると、かなりブレの許容範囲が大きいように思います。
グラフのズームが最大(グラフ設定のズーム値が100)になっているか確認していただけますでしょうか。

ズームの影響により20fが最適ということであれば、ズームも考慮に入れた判定に修正いたします。

また、もしズームが最大でしたら、Inspectorウィンドウのタイトル部分なども同様にドラッグ開始の誤判定が起きやすいのではないかと思いますが、そちらはいかがでしょうか。
(今調べたところ、Unity内部のドラッグ開始判定は6ピクセル以上という判定になっているようです)

お手数おかけして申し訳ございませんがご確認よろしくお願いいたします。

Re: タイトル部分や三角部分をタップしても反応しない場合が多い

Posted: 2019/04/19 00:28
by kkk
もう一度 5fにして確認した所、今度は大丈夫そうでした。
もしかしたら、反映される前にテストしたのかもしれません。
ズームも確認しましたが、ズームでの影響はないようです。

よろしくおねがいします。

Re: タイトル部分や三角部分をタップしても反応しない場合が多い

Posted: 2019/04/19 03:59
by caitsithware
5fあたりで大丈夫そうということで、そのように修正いたします。
ご確認ありがとうございました。