お世話になります。現在定年を迎えUnity5での開発を始めました。
Unity5.6.6での開発を行っていましたが、諸事情により5.4.3にダウングレードして開発を続けています。
5.6.6で開発していたプロジェクトを5.4.3で作り直していますが、プログラムがエラーになる部分があります。
C#
1GameObject Explosion = Instantiate(ExplosionPrefab, transform.position, Quaternion.identity);
これは爆発のエフェクトのprefabをInstantiateしたcloneをGameObject型の変数Explosionに代入しています。
このプログラムを5.4.3で実行するとエラーが出力されます。エラーの内容は以下の通りです。
型 'UnityEngine.Object' を 'UnityEngine.GameObject' に暗黙的に変換できません。明示的な変換が存在します(キャストが不足していないかどうかを確認してください)
as GameObjectと文末に書くことによってエラー回避ができましたが、そもそもなぜこのような問題が発生するのでしょうか。
UnityEngine.ObjectとUnityEngine.GameObjectの違いもわからないのでこちらもご回答いただければ幸いです。
UnityのオブジェクトはすべてGameObject型だと思っていましたが、違うのでしょうか。
もしくはInstatntiateするとUnityEngine.Object型に変換されてしまうのでしょうか。
Unityの知識が乏しいため不明点があるかもしれませんが、なにとぞよろしく申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/24 05:40
2018/07/24 06:25 編集