【问题标题】:Unity ECS on linux error when trying to start new 2D project尝试启动新的 2D 项目时,Linux 上的 Unity ECS 错误
【发布时间】:2020-09-12 11:09:37
【问题描述】:

我在 linux 上安装了 Unity,在标准模型中开发游戏时,一切似乎都按预期工作。但是,当我为 ECS 开发设置项目时,通过安装以下软件包:

  • 突发 1.3.0
  • 实体 0.11.0
  • 混合渲染器 0.5.1
  • 乔布斯 0.2.10
  • 数学 1.1.0

创建空白 2D 项目时出现以下错误:

Library/PackageCache/com.unity.2d.animation@3.2.2/Runtime/TransformAccessJob.cs(196,62): error CS1061: 'NativeHashMap<int, TransformAccessJob.TransformData>' does not contain a definition for 'Length' and no accessible extension method 'Length' accepting a first argument of type 'NativeHashMap<int, TransformAccessJob.TransformData>' could be found (are you missing a using directive or an assembly reference?)

Unity 版本:2019.3.14f1 个人版

有人知道可能是什么问题吗?

【问题讨论】:

  • 移除动画包,因为 ecs 动画不是真的
  • 这解决了它。谢谢你。你应该让它成为一个答案

标签: linux unity3d entity-component-system unity-dots


【解决方案1】:

删除 2D 动画包对我来说不是一个有效的选择,因为我正在使用它提供的 2D 骨架动画功能。

这个问题似乎是由于 Jobs 0.2.10 的 API 更改造成的。 将 Jobs 降级到 0.2.9 为我解决了这个问题。

【讨论】:

  • 谢谢你,你拯救了我的一天。我想指出,如果您正在使用其他几个软件包,您还需要降级它们,因为它们依赖于最新版本的 Jobs;比如实体和混合渲染器。
【解决方案2】:

如果您想使用动画包,临时解决方法是将错误中指定的行(TransformAccessJob.cs 第 196 行)中的 m_TransformData.Length 更改为 m_TransformData.Count()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多