相性問題のあるアセット

ここは、ユーザー同士でスクリプトや開発情報の共有をする場所です。

Here is the place to share scripts and development information among users.
hildsoft

相性問題のあるアセット

Post by hildsoft » 2017/12/28 15:22

検証環境
Windows10 Pro
Unity 2017.2.0f3
Arbor 2.2.2

対象アセット
Odin 1.0.5.3

注意事項
発生までにいくつものアセットを入れていたので正確な検証ではありません。

現象
FSM Editorでの表示がおかしくなる。
FSM Editorで常にマウスドラッグ状態になる。

検証手順
1.StateBehaviourを継承したクラスを作成して、public変数を作成。(public OutputSlotInt slotInt;)
2.上記の現象が発生。
3.Odinのインストールフォルダを削除して、Unityを再起動。
4.上記の現象が発生しないことを確認。

補足
簡単な遷移操作だけですが、1の操作を行うまでは特に問題無く動いていました。

https://twitter.com/hildsoft/status/946393528925437953

hildsoft

Re: 相性問題のあるアセット

Post by hildsoft » 2018/02/02 12:10

検証環境
Windows10 Pro
Unity 2017.2.0f3
Arbor 2.2.2

対象アセット
Odin 1.0.5.3

一応回避できたので報告です。

Unityのメニューから、[Tools]->[Odin Inspector]->[Preferences]
Editor Typesから対象となるスクリプトのチェックを外したところ、当面のところは回避できています。

https://twitter.com/hildsoft/status/946415787497046016

User avatar
caitsithware
管理人
Posts: 215
Joined: 2015/08/17 12:41

Re: 相性問題のあるアセット

Post by caitsithware » 2018/05/10 09:40

FSM Editorでの表示がおかしくなる
Odinを入れるとOutputSlotIntなどの表示がおかしくなる件、こちらでも確認しました。

OutputSlotIntなどの基本クラスであるCalculatorSlotはabstractクラスなのですが、
どうやらabstractクラス+CustomPropertyDrawer(useForChildren=true)の組み合わせ時のみ、PropertyDrawerが適用されなくなるOdinの不具合っぽかったです。

一応Odin作者へバグ報告しておきましたので、使用している方は投票してもらえると早く直るかもしれません。
https://bitbucket.org/sirenix/odin-insp ... rk-even-if

User avatar
caitsithware
管理人
Posts: 215
Joined: 2015/08/17 12:41

Re: 相性問題のあるアセット

Post by caitsithware » 2018/05/10 09:44

FSM Editorで常にマウスドラッグ状態になる
こちらの環境では、マウスドラッグ状態にはなりませんでした。
Arbor 3.1.0(開発中の最新版)
Odin 1.0.6.8

もしよければ、似たような状態になった時再現しているのか別の現象なのかの判断もしたいので、より詳しい状況やgifなどをつけてもらえると助かります。

追記:
あ、Unity 2017.2.0f3でしたね。
Unity5.4.0f3(Arborでの最低サポートバージョン)でしか確認してないので、Unityバージョンの違いもあるかもしれません。
また改めてUnityのバージョン毎でも確認してみます。

hildsoft

Re: 相性問題のあるアセット

Post by hildsoft » 2018/05/10 11:04

FSM Editorで常にマウスドラッグ状態になる
の件ですが、
Arbor 2.2.2
Odin 1.0.5.3
Unity 2017.2.0f3 及び 2017.3.1f1
でも発生しました。

Arbor 2.2.2
Odin 1.0.6.8
Unity 2017.3.1f1
の環境では発生しませんでした。

Odin側のバグで修正されたものと思われます。

現象としては、
Image
の様にPropertyDrawerが正常に表示されていない物を含んでいるステートをクリックしたときに、
何らかのエラーでMouseUpイベントが通知されていないようで、マウスボタンを離しているにもかかわらずドラッグ状態になって
マウスカーソルを追いかける状態でした。

右クリックでメニューを表示している間は動かないので、その時に別の所をクリックすることで一旦追従を解除できました。
しかし何らかのフラグを持っているようで、続いて別のステートをドラッグすると一緒に動く動作もありました。

gifサンプルです。
https://twitter.com/hildsoft/status/994533347224305664

User avatar
caitsithware
管理人
Posts: 215
Joined: 2015/08/17 12:41

Re: 相性問題のあるアセット

Post by caitsithware » 2018/06/02 04:46

ありがとうございます。

私は先ほどOdinを買ったばかりで最新版しか使えないので再現は無理かもしれませんね。
特に問題なければOdin最新版を使ってもらう形になると思います。

User avatar
caitsithware
管理人
Posts: 215
Joined: 2015/08/17 12:41

Re: 相性問題のあるアセット

Post by caitsithware » 2018/08/10 00:21

caitsithware wrote:
2018/05/10 09:40
どうやらabstractクラス+CustomPropertyDrawer(useForChildren=true)の組み合わせ時のみ、PropertyDrawerが適用されなくなるOdinの不具合っぽかったです。
Odin 2.0.0.0で修正入ったぽいです。
http://sirenix.net/odininspector/releasenotes/
Fixed case where legacy Unity Property drawers would not be drawn if Odin didn't think that Unity would serialize the type to draw; this was particularly relevant for the case where a drawer that draws derived types targets an abstract class.

kudou

Re: 相性問題のあるアセット

Post by kudou » 2018/11/19 13:15

Unityバージョン 2018.2.13.f1
Arborバージョン 3.3.2
OS Windows8.1
ビルドプラットフォーム UnityEditor
Odinバージョン 2.0.11

Odin をいれると GameObjectGetComponentCalculator の Type の項目が表示されなくなるようです。
Unityのメニューから、[Tools]->[Odin Inspector]->[Preferences] で GameObjectGetComponentCalculator のチェックを外すと表示されました。

Image

Image

User avatar
caitsithware
管理人
Posts: 215
Joined: 2015/08/17 12:41

Re: 相性問題のあるアセット

Post by caitsithware » 2018/12/02 07:27

kudou wrote:
2018/11/19 13:15
Odin をいれると GameObjectGetComponentCalculator の Type の項目が表示されなくなるようです。
軽く調べてみましたが、Odin側でフィールドのGUIに使用するProperyDrawerを探す処理が独自に組んである関係で、Unityが本来使用しようとするProperyDrawerとは異なってしまうようです。

具体的には、CustomPropertyDrawer(useForChildren=true)としつつも、その派生クラスのPropertyDrawerも作成している場合、クラスが最初に見つかった方が使用されてしまいます。
(Unity本来の仕様では、CustomPropertyDrawerで指定している型と合致するPropertyDrawerが優先して使用されます)

Odin側の不具合、もしくは、あえてUnity本来の仕様とは変更してある?仕様かと思いますので、Arbor側で何らかの対処は難しそうです。
気になるのでしたら、Odin作者へのお問い合わせをお勧めいたします。

こちらで確認できた関連する問題は以下の通りです。
関連する問題
  • AnimatorTriggerParameterReferenceを使用するとすべてのパラメータが選択可能になってしまう。
  • InputSlotTypable, OutputSlotComponent, OutputSlotUnityObject, OutputSlotTypableのTypeフィールドが表示されない。
この他にも、該当しうるPropertyDrawerはいくつかあるので、
どの順番でクラスが取得できるか.Netの仕様次第によっては、コンパイルする度などに状況が変わる可能性も?

kudou

Re: 相性問題のあるアセット

Post by kudou » 2018/12/05 10:53

ご返答ありがとうございます。
Odin側の問題かなと思いつつも、情報共有になるかなと思って書かせていただきました。
ProperyDrawer関係の動作はあまりよくわかっておらずOdin側に問い合わせる内容もうまく書けそうにないのと、
Odin側の設定で問題となるTypeを回避できていますので、問い合わせはやめておこうと思います。
ご調査ありがとうございました。

Post Reply