gpt4 book ai didi

javascript - Three.js - 缩小时事物消失

转载 作者:太空狗 更新时间:2023-10-29 14:17:37 27 4
gpt4 key购买 nike

在我的 three.js 项目中,我为相机使用了高 z 位置。当 z 位置太高时,我的场景变黑了。所以,当我缩小时它变成黑色。但我不希望这种情况发生。

这就是 camera.position.z = 3000; 的情况 http://qs.lc/uui7g

当我缩小时,只有一个缩放,它是这样的: enter image description here

对于我使用 OrbitControls 的控件,我的相机是这样的:

var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 3000);
camera.position.z = 3000;

这里是行星和一些行星轨道的代码:

var scene = new THREE.Scene();

var material = new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture("assets/img/sun.jpg")
});

var sun = new THREE.Mesh(new THREE.SphereGeometry(200, 50, 50), material);
scene.add(sun);

var orbitLine = function(radius,y)
{
var segments = 64,
line_material = new THREE.LineBasicMaterial( { color: 0xffffff } ),
geometry = new THREE.CircleGeometry( radius, segments );

geometry.vertices.shift();

var orbit = new THREE.Line( geometry, line_material );
if(y)
orbit.position.y=y;
else if(!y)
orbit.position.y=0;

scene.add(orbit);
};
var Mercury_orbit = orbitLine(400,-70);
var Venus_orbit = orbitLine(700,70);
var Earth_orbit = orbitLine(900,70);
var Mars_orbit = orbitLine(1250,70);
var Jupiter_orbit = orbitLine(3000,70);

无法提供 fiddle ,因为某些原因它不起作用。如果您需要更多代码,请在评论中告诉我,我会添加。

有什么想法吗?谢谢。

最佳答案

你的相机的远平面是 3000,这意味着 3000 个单位以外的所有东西都将被剪裁而不是绘制。

与此同时,您已将相机放置在 (0,0,3000) 处,因此您正处于事物开始消失的位置。

关于javascript - Three.js - 缩小时事物消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29185783/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com