Unity路径追踪开发报错:int数组不存在Select扩展方法如何解决
报错原因
Select 是C# LINQ库提供的扩展方法,你当前的脚本没有引入LINQ对应的命名空间,所以编译器无法识别该方法。
报错行代码作用
报错对应的代码行功能为:
你正在把所有追光对象的顶点合并到全局顶点列表_vertices中,单个Mesh自身的索引数组仅指向该Mesh自有顶点的下标,加入全局索引列表时,需要给所有索引值统一加上偏移量firstVertex(即该Mesh顶点加入全局列表前的全局顶点总数),这样索引才能正确匹配合并后的全局顶点列表的位置。
解决方案
两种修复方式任选其一即可:
方案1(无需修改原有逻辑)
在脚本的最顶部添加命名空间引用即可:
using System.Linq;
方案2(不依赖LINQ)
如果你不想引入LINQ库,可以把报错行替换为手动循环写法,实现完全一致的效果:
// 替换原有的_indices.AddRange(indices.Select(index => index + firstVertex)); foreach (int index in indices) { _indices.Add(index + firstVertex); }
内容的提问来源于stack exchange,提问作者mncraftgeek
相关产品推荐
相关产品推荐

