【问题标题】:Unity FPS microgame scripts can't find custom scriptsunity FPS 微游戏脚本找不到自定义脚本
【发布时间】:2021-11-29 14:12:47
【问题描述】:

我正在使用 FPS Microgame 基础来创建一个统一的基本游戏。我使用的版本是 2020.3.01f。我确保两个脚本都使用相同的命名空间。如果我制作另一个新脚本,它可以找到我的脚本,但小游戏自带的却找不到。我正在尝试使用以下代码来实现它:

collision.gameObject.GetComponent<MyScript>().RunMyFunction();

如果可能的话,我不希望废弃微游戏附带的整个碰撞系统。任何想法可能是什么问题?

【问题讨论】:

  • I've made sure both scripts use the same namespace 你能发布你的脚本吗?可能有Assembly Definitions 参与吗?如果您选择脚本,您可以在检查器中查看它属于哪个程序集(请参阅Finding which assembly a script belongs to)如果它们位于不同的程序集中,他们可能不知道彼此 -> 在程序集定义中添加对另一个程序集的依赖项
  • 您确定与您碰撞的对象没有子对象并且组件不在其上吗?
  • Unity FPS microgame scripts can't find custom scripts 尝试GetComponent&lt;CustomComponent&gt;() 时遇到的实际错误是什么?

标签: c# unity3d


【解决方案1】:

您可能已将碰撞系统文件放在插件文件夹下。 Unity 有一个构建顺序系统,可以将项目彼此分开。如果我没记错的话,您不能从 Asset 脚本中引用 Plugin 文件夹脚本,因为 Unity 将它们中的每一个都编译为不同的项目。 See if this link helps.

【讨论】:

    【解决方案2】:

    FPS 微游戏定义了多个assemblies。 FPS 小游戏不能直接引用自定义代码,除非:

    A) 自定义代码被放置在被修改的特定 FPS 程序集引用的程序集中。 (推荐)

    B) FPS 程序集定义被删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2023-02-10
      • 2015-03-05
      • 2015-08-18
      相关资源
      最近更新 更多