我正在尝试制作一个小型“引擎”,使我能够使用 Three.js 轻松创建和定位对象。到目前为止,我已经能够设置场景、渲染器和相机,一切似乎都工作正常,直到我尝试渲染立方体并将其附加到场景中。
我能够创建立方体并将其附加到我的场景中,但是当我尝试在 Three.js 中使用 render() 函数时,我的代码似乎失败并收到错误:
THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.
Run Code Online (Sandbox Code Playgroud)
但我不太确定为什么。我在网上找不到太多关于此错误的信息,所以我希望这里有人能指出我正确的方向。
在进行故障排除时,我尝试将多维数据集输出到控制台,看看是否可以从中获取任何有用的信息。看起来它很好地附着在我的场景上,并且我的场景和相机都显示为立方体的父对象。
这是代码:
function spnScene(alias, fov, x, y, z) {
window.spnCreateScene = new THREE.Scene();
var WIDTH = window.innerWidth, HEIGHT = window.innerHeight;
if (alias == false) {
console.warn('spnRenderer scene antialias set to ' + alias + ". Please check your code to make sure it's correct.");
}
spnRenderer = new THREE.WebGLRenderer({
antialias: alias
});
spnRenderer.setSize(WIDTH, HEIGHT);
document.body.appendChild(spnRenderer.domElement);
// create camera
spnCamera = new THREE.PerspectiveCamera(fov, WIDTH …Run Code Online (Sandbox Code Playgroud)