Unity ECS 在尝试启动新的 2D 项目时出现 linux 错误
Unity ECS on linux error when trying to start new 2D project
我已经在 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 个人版
有人知道可能是什么问题吗?
删除 2D 动画包对我来说不是一个有效的选择,因为我正在使用它提供的 2D 骨架动画功能。
这个问题似乎是由 Jobs 0.2.10 的 API 变化引起的。
将 Jobs 降级到 0.2.9 为我解决了这个问题。
如果您想使用动画包,一个临时修复方法是在错误中指定的行(TransformAccessJob.cs
第 196 行)中将 m_TransformData.Length
更改为 m_TransformData.Count()
。
我已经在 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 个人版
有人知道可能是什么问题吗?
删除 2D 动画包对我来说不是一个有效的选择,因为我正在使用它提供的 2D 骨架动画功能。
这个问题似乎是由 Jobs 0.2.10 的 API 变化引起的。 将 Jobs 降级到 0.2.9 为我解决了这个问题。
如果您想使用动画包,一个临时修复方法是在错误中指定的行(TransformAccessJob.cs
第 196 行)中将 m_TransformData.Length
更改为 m_TransformData.Count()
。