我有一个使用three.js渲染的相当简单的场景。我试图渲染场景的一部分,就像MRI一样。
我已经为测试目的制作了两个版本的场景。
渲染正交场景没有问题。我曾尝试使用剪切平面捕获切片,但无法使其工作。我得到一个完全白色的屏幕或整个模型。
以下是我希望实现的自上而下的观点:
100 *----------------------------------*
| |
| |
| |
| |
#################################### <-- Capture this slice of 100 units width
| |
| |
| |
| |
0 *----------------------------------*
0 100
\ /
\/
CAMERA roughly @ (50, -100)
我完全有可能错过一些明显的东西。我的3D背景很不错,但我不是专家。
在Three.js / WebGL中,最好的方法是什么?摄像机的最佳位置是什么?
PS:是的,我知道切片一些原语不会很好。我正在使用一个由线和点构建的模型,我希望它能够相当安全地切片。将物体切成两半对我来说并不是一个问题。
答案 0 :(得分:2)
答案结果是相机放置。事后证明,相机不应该像透视投影所需的那样从场景中退回。将相机放在模型的边缘就可以了,并且剪裁平面(近,远)正常工作。
例如:
Z
100 *----------------------------------*
| |
| |
75 | |
| |
| |
50 | |
| |
| |
25 #################################### <-- Capture this slice of 5 units
| | width @ z = 25
| |
0 *-----------------X----------------* Y
0 . 100
.
.
CAMERA is here at (50,0)
near = 25
far = 30 (for width 5, ie: 25 + 5)