Yarn: VoxelShape -> 形状

创建于 2019-05-08  ·  5评论  ·  资料来源: FabricMC/yarn

本周热点™️

该实现没有任何固有的“体素”,它只是表示形成各种形状的点的集合。 将体素作为概念引入的唯一点是在 Block 类中提供的第三方方法中,该方法在构造形状之前将给定的点除以 16.0(标准化的 16x16x16 每立方体素概念)。 但除此之外,在主要的类和类型中,没有应用这个概念,它们只是表示可以具有任何维度或分辨率的形状的纯粹点。 我确实认识到 Mojang 在 String 中将它们称为 VoxelShape 并且 Yarn 可能倾向于尊重 Mojang 的命名决定,但我觉得这是名称可以轻松简化的各种情况之一,因为前缀可以被视为多余或概念上不正确。 对此的另一个想法是,在Advancement中 Mojang 的 toString 实际上将其命名为SimpleAdvancement情况被认为是不正确的,并且 Mojang 实际上调用了类Advancement ,这可能非常VoxelShape也是如此。 实际上,Mojang 在代码库中仅将其称为 VoxelShape 2 次:VoxelShape 的 toString,以及 ArrayVoxelShape 中的 IllegalArgumentException 消息。 同时,在 VoxelShape 中还有一个 UnsupportedOperationException 消息,仅将其描述为一个形状( "No bounds for empty shape." )。 我没有更多要放在这里,所以我只是提醒大家这是一个“热门话题”,我不是在推动这一变化,这只是一个通配符建议。

最有用的评论

在 FAP 鱼苗期间,多次将其称为 VoxelShape。 我认为这是很安全的假设。 我们要关闭吗?

所有5条评论

Voxel表示网格点对齐,我相信。 如果点可以不在体素格点上,我绝对支持去除Voxel前缀。

所以这里是热门话题的反问题:体素确实代表了一般计算机编程和游戏设计中的其他东西,如这篇维基百科文章所述。

但是在 Minecraft 的上下文中, Voxel一直是块空间中像素概念的常用术语,然而,这些形状可以在任何地方自由使用,无需明确绑定到块坐标。 这实际上取决于您是否认为Shape足够清晰以暗示在其他编程环境中看到的体素字面概念。 我们确实看到了边界框和向量,并且知道它们代表可以在需要时绑定到世界位置的点,我觉得也可以从简化名称Shape推断出相同的行为。

关于实现,没有什么固有的“体素”,

VoxelShape是由体素组成的。 体素形状是一个 3 维布尔数组(体素)以及每个行、列和层的大小。

如果点可以不在体素格点上,我绝对支持去除体素前缀。

它们确实需要是长方体晶格上的点。

在 FAP 鱼苗期间,多次将其称为 VoxelShape。 我认为这是很安全的假设。 我们要关闭吗?

这是基于 Mojang 称之为VoxelShape的知识创建的。 它旨在简化类型概念。 不过,平均而言,目前投票倾向于这种变化的下降,所以我将基于此关闭它。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

asiekierka picture asiekierka  ·  4评论

enbrain picture enbrain  ·  4评论

Sollace picture Sollace  ·  5评论

Draylar picture Draylar  ·  6评论

asiekierka picture asiekierka  ·  3评论