启用或禁用 3D 草图中线条的透视功能。
在 WebGL 模式中,当线条距离摄像头较远时,可以使用较细的笔触来绘制线条。这样可以让线条看起来更真实。
默认情况下,线条会根据所使用的透视类型以不同的方式绘制:
perspective()
和frustum()
用于模拟逼真的透视效果。在这两种模式中,笔触的重量受线条与相机间距离的影响。这样做可以使线条外观更自然。perspective()
是 3D 草图中的默认模式。ortho()
不会模拟真实的视角。在该模式下,无论线条与摄像机的距离如何,笔划权重都是一致的。这样可以获得更可预测且更一致的外观。
linePerspective()
可以覆盖默认的线条绘制模式。
参数 enable
是个可选参数。它是一个 Boolean
值,用于设置线条的绘制方式。如果传入的值为 true
,比如 linePerspective(true)
,那么当线条离摄像机较远时,就会显得较细。如果传入值为 false
,比如 linePerspective(false)
,则无论线条与摄像机的距离如何,其笔画权重都将保持一致。默认情况下,启用 linePerspective()
。
如果启用了 linePerspective()
则调用它而不传递参数将返回 true
。如果未启用,则返回 false
。
注意:linePerspective()
只能在 WebGL 模式下使用。
示例
语法
linePerspective(enable)
linePerspective()
参数
是否启用线条透视。
相关参考
camera
设置相机的位置和朝向 myCamera.camera() 允许从不同角度查看对象。它有九个参数,全部都是可选的。 前三个参数 x、y 和 z 是相机在“世界”空间中的位置坐标。例如,调用 myCamera.camera(0, 0, 0) 会将相机放置在原点 (0, 0, 0)。默认情况下,相机被放置在 (0, 0, 800)。 接下来的三个参数 centerX、centerY 和 centerZ 是相机在“世界”空间中指向的点的坐标。例如,调用 myCamera.camera(0, 0, 0, 10, 20, 30) 会将相机放置在原点 (0, 0, 0) 并将其指向 (10, 20, 30)。默认情况下,相机指向原点 (0, 0, 0)。 最后三个参数 upX、upY 和 upZ 定义“本地”空间中相机的“上”向量。 “上”向量定位相机的 y 轴。例如,调用 myCamera.camera(0, 0, 0, 10, 20, 30, 0, -1, 0) 会将相机放置在原点 (0, 0, 0),指向 (10, 20, 30),并设置“上”向量为 (0, -1, 0),产生的效果类似倒拿着相机。默认情况下,“上”向量是 (0, 1, 0)。 .
centerX
相机看向之处的 x 坐标。 默认情况下,相机在“世界”空间中看向原点 (0, 0, 0),因此 myCamera.centerX 为 0。 .
centerY
相机看向之处的 y 坐标。 默认情况下,相机在“世界”空间中看向原点 (0, 0, 0),因此 myCamera.centerY 为 0。 .
centerZ
相机看向之处的 z 坐标。 默认情况下,相机在“世界”空间中看向原点 (0, 0, 0),因此 myCamera.centerZ 为 0。 .