AnimatorController Class について

Here is a forum for reporting failure to Arbor developer.
Please read the forum rules carefully and enter the information necessary to confirm the problem.

Note:
  • Please read the "Update Guide" carefully when updating Arbor.
  • The bugs that we already know are summarized in "Known Issues", so please check once.
  • Please check ReleaseNote and use the latest version if possible before reporting a bug.
  • Unity beta and alpha versions are not supported. Please use the official release version.
  • In principle, defects caused by the introduction of other assets are not supported. If you find a defect, please report it after isolating which asset is the problem.

ここは、Arbor開発者へ不具合を報告するためのフォーラムです。
フォーラムルールをよく読み、不具合確認に必要な情報を記載するようお願いします。

注意点:
  • Arborを更新する際は「アップデートガイド」をよく読み行ってください。
  • 既に把握している不具合は「既知の問題」にまとめてありますので一度確認してみてください。
  • 不具合報告をする前にReleaseNoteを確認し、なるべく最新バージョンを使用して下さい。
  • Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。
  • 他アセット導入による不具合は原則サポート対象外です。不具合を見つけた場合はどのアセットの問題であるか切り分けた上でのご報告をお願いいたします。

Forum rules
The items necessary for reporting are as follows.
  • OS(Required)
  • Unity version(Required)
  • Arbor version(Required)
  • How to reproduce(Required)
    The reproduction method should be described accurately so that anyone can read the same procedure.
    If you do not know the exact reproduction procedure, as long as you can remember it, so please tell us what you were doing immediately before and the last time you edited it.
  • Build platform
  • Reproduction project (Minimum configuration not including Arbor and other assets) or video

Note:
  • Please read the "Update Guide" carefully when updating Arbor.
  • The bugs that we already know are summarized in "Known Issues", so please check once.
  • Please check ReleaseNote and use the latest version if possible before reporting a bug.
  • Unity beta and alpha versions are not supported. Please use the official release version.
  • In principle, defects caused by the introduction of other assets are not supported. If you find a defect, please report it after isolating which asset is the problem.

報告に必要な項目は以下の通りです。
  • OS(必須)
  • Unityバージョン(必須)
  • Arborバージョン(必須)
  • 再現方法(必須)
    再現方法については、誰が読んでも同様の手順を行えるよう正確に記述するようにお願いいたします。
    もし正確な再現手順が不明な場合、覚えている限りで構いませんので直前に行っていたことや最後に編集した時のことを教えてください。
  • ビルドプラットフォーム
  • 再現プロジェクト(Arborや他アセットなどを含まない最小構成)もしくは動画

注意点:
  • Arborを更新する際は「アップデートガイド」をよく読み行ってください。
  • 既に把握している不具合は「既知の問題」にまとめてありますので一度確認してみてください。
  • 不具合報告をする前にReleaseNoteを確認し、なるべく最新バージョンを使用して下さい。
  • Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。
  • 他アセット導入による不具合は原則サポート対象外です。不具合を見つけた場合はどのアセットの問題であるか切り分けた上でのご報告をお願いいたします。
Kpaper
Posts: 6
Joined: 2017/04/17 05:54

AnimatorController Class について

Post by Kpaper »

いつもお世話になっています。
僕のプロジェクトにインポートするとすぐ次のようにエラーが発生しました。
すでに私のプロジェクトでNameSpaceが指定されていないAnimatorControllerクラスが存在するからです。
Assets/ Arbor/ Behaviours/ Editor/ Transition/ AnimatorStateTransitionInspector.cs(28,80):error CS0039:Can not convert type`UnityEngine.RuntimeAnimatorController「to` AnimatorController「via a built-in conversion

おそらくAnimatorControllerクラスを使用している箇所の両方で発生します。
明示が必要らしく、以下のように、コードの変更をして使用しています。

#AnimatorStateTransitionInspector.cs
#Before
AnimatorController animatorController = animator.runtimeAnimatorController as AnimatorController;
#After
UnityEditor.Animations.AnimatorController animatorController = animator.runtimeAnimatorController as UnityEditor.Animations.AnimatorController;

ご参考お願い致します。
User avatar
caitsithware
管理人
Posts: 493
Joined: 2015/08/17 12:41

Re: AnimatorController Class について

Post by caitsithware »

報告ありがとうございます。

Unityが定義しているクラスと同名クラスをプロジェクト内で使用しているとのことですが
その同名クラスを別のnamespaceへ移すことは可能でしょうか?

グローバルなnamespaceのクラスはご指摘通りusingを使用している場合、別namespace内にある同名クラスよりも優先されてしまうため
もし対応するとなるとusingを使用せずに開発する必要があり、コード量の増加によって可読性が下がってしまい開発コストも増えてしまいそうです。

ご不便おかけしますがご確認よろしくお願いいたします。
Kpaper
Posts: 6
Joined: 2017/04/17 05:54

Re: AnimatorController Class について

Post by Kpaper »

ご返答ありがとうございます。
確かにUnityEngine ではなくUnityEditorの Namespace で使ってるclass名ですね。
おっしゃってくださった通りに、僕のプロジェクトはNameSpaceを付けて解決しました。

僕の立場でも、プロジェクトの管理のために、Namespaceを使う努力をする方ですが、
プロトタイプやサンプルプロジェクトの場合は、
グローバルネームスペースを使用している場合が多いようで、(習慣の問題ですが...)
発見したことを共有してみました。
今回の場合も、サンプルモデルとして使うためにAsset Storeから購入したモデルのスクリプトと衝突した場合ですね。
(これがGlobalでした。)

ありがとうございます。
User avatar
caitsithware
管理人
Posts: 493
Joined: 2015/08/17 12:41

Re: AnimatorController Class について

Post by caitsithware »

ご確認ありがとうございます。

確かにプロトタイプやアセットのサンプルコードなどではグローバルにしてしまうケースも多そうですね。

他の対応策として、Pluginsフォルダに置くことで別のAssembly(Assembly-CSharp-firstpass.dll)に変わるので
もしまた他アセットと衝突するようでしたらArborフォルダをPluginsフォルダ下に移動させてみてください。

こちらも今後のアップデートで対処しておきます。
Locked