假设我的模型只是一个立方体。 (它比立方体更复杂,但为了讨论的目的,我们将简化。)
因此,当我在Sketchup中时,立方体是Xmm×Xmm×Xmm,其中X是整数。然后我导出一个Collada文件,然后将其加载到threejs。
现在,如果我查看几何边界框,则值为浮点数,而不是整数。
所以现在假设我把立方体放在彼此旁边,在1像素之间有一个小空间。因为屏幕不能绘制半像素,有时我看到一个像素,有时我看到两个像素,这导致缺乏均匀性。
如果我能以某种方式让导入的模型具有整数尺寸,我想我可以满意地解决这个问题。从Sketchup开始,我可以完全访问模型的所有部分,因此过程中的任何一点都是合理的游戏。
有可能吗?
感谢。
澄清:我的应用程序将有两个视图。与此相关的观点是使用直视相片的OrthographicCamera,因此这实际上是一个2D视图。出于这个问题的目的,在导入模型之后,它应该看起来像一个正方形的网格,中间有均匀的间距。
更新:除非您能提供实际答案,否则我请您不要回复。如果我需要帮助找到实现目标的方法,我会发布一个新问题。对于这个问题,我只想知道是否可以将导入的Collada模型与全像素对齐,如果可以的话。在这一点上,这主要是为了满足我的好奇心并增加我对什么是不可能的知识。感谢社区的帮助。
答案 0 :(得分:0)
现在你必须学习3D编程这个东西:数字并不意味着什么:)
在现实世界中1mm
,2.13cm
和100Kg
指定可以衡量和复制的内容。但对于绘图库,这些数字并不意味着什么。
在绘图库中,3D点始终用3个浮点值表示。您将点提交到库中,它将在2D点转换它们(它们必须在2D表面上查看),最后通过这些2D点到 rasterizer ,它将浮点值转换为整数值(屏幕的分辨率为NxM
像素,N
和M
都是整数)并着色实际像素。
您的问题根本不是问题。 1mm
的立方体实际上没有任何意义,因为如果你正在设计一个天文学应用程序,那个对象将永远不会被看到,但如果它是一个微观的对象,它甚至会比屏幕更大。重要的是该点的坐标,以及整个应用程序的比例。
现在回到你的立方体,不要试图在两个相邻的立方体之间插入1px
。您的多维数据集是根据mm
定义的,因此请尝试选择适合您的世界的mm
距离,让光栅化器完成其工作并将其转换为像素。
答案 1 :(得分:0)
两位同事告诉我,我发现用正常手段确实不可能做到这一点。