javascript - OrbitControls 改变相机位置
问题描述
我正在用 THREE.js 和 Blender 做一个学术项目。在我main.js
的代码中,我有创建场景、创建渲染器、相机、轨道控制等的代码......问题是,每次我加载网页时,相机都在看某个位置camera.lookAt(0,0,90)
,但每次我尝试移动物体,相机看向另一个位置。
这是我的代码:
var cena = new THREE.Scene();
cena.background = new THREE.Color( 0xFFFFFF );
// Criar uma camara
var camara = new THREE.PerspectiveCamera(70, 600/530, 0.1, 500);
var canvas = document.getElementById('myCanvas');
// preparar um renderer WebGL com um viewport 800x600 a adicioná-lo à pagina
var renderer = new THREE.WebGLRenderer({ canvas: canvas, antialias: true });
renderer.setSize(600, 530); // tamanho do canvas (da área preta)
renderer.shadowMap.enabled = true
renderer.gammaOutput= true
renderer.setPixelRatio(window.devicePixelRatio)
camara.position.x = 0;
camara.position.y = -5;
camara.position.z = -15;
// OrbitControls.js
var controlos = new THREE.OrbitControls(camara, renderer.domElement);
camara.lookAt(0, 0, 90)
// GLTFLoader (BLENDER PARA THREE.JS)
var carregador = new THREE.GLTFLoader();
carregador.load(
'blender/mochila.glb', // Nome do ficheiro .gltf
function(gltf){ // Adicionar o ficheiro à cena a ser renderizada
cena.add(gltf.scene);
}
);
// Adicionar pontos de luz
var luzPonto1 = new THREE.PointLight("white");
luzPonto1.position.set(5, -5, -5);
cena.add(luzPonto1);
// Adicionar pontos de luz
var luzPonto1 = new THREE.PointLight("white");
luzPonto1.position.set(-5, -5, 5);
cena.add(luzPonto1);
// Adicionar pontos de luz
var luzPonto1 = new THREE.PointLight("white");
luzPonto1.position.set(1, 1, 1);
cena.add(luzPonto1);
// Adicionar pontos de luz
var luzPonto1 = new THREE.PointLight("white");
luzPonto1.position.set(5, 5, 5);
cena.add(luzPonto1);
// Adicionar pontos de luz
var luzPonto1 = new THREE.PointLight("white");
luzPonto1.position.set(-5, -5, -5);
cena.add(luzPonto1);
function animar(){
requestAnimationFrame(animar);
renderer.render(cena, camara);
}
animar();
移动对象时如何保持相同的初始位置?
解决方案
推荐阅读
- php - 一个 PDO 函数用于任何查询
- connexion - 我在休息 api 调用上遇到问题-属性只读
- arrays - Ruby 的组合比较运算符是如何工作的?
- apache-spark - Synapase 笔记本中的 Pyspark 数据帧错误
- reactjs - 来自 Django 服务器的 reactjs 请求时出错(403 错误/CORS)
- python-3.x - 从第一个循环中获取结果以在 python 中运行第二个循环
- python - 过滤 dtype 转换失败的行
- php - 做imagecropauto后如何保持gif背景透明度
- python - 数据处理股票?
- python - 我如何检查经过身份验证的用户并显示然后在 django 中显示不同的内容