【发布时间】:2020-09-28 16:28:19
【问题描述】:
我是一个绝对的初学者。
我已经在搅拌机中创建了一个 3d 模型,并且我正在尝试建立一个投资组合网站来展示我的一些作品。我遵循了一个在线教程,我已经到了可以在画布上显示我的 .gltf 模型的地步,其大小可以按照我想要的方式进行。我似乎可以把它放在一个 div 标签内。
这是我的代码部分:
<div class="model">
Model should go here:
<script src="three.min.js"></script>
<script src="GLTFLoader.js"></script>
<script src="OrbitControls.js"></script>
<script>
let scene, camera, render
function init() {
scene = new THREE.Scene()
scene.background = new THREE.Color(0xdddddd)
camera = new THREE.PerspectiveCamera(40, window.innerWidth / window.innerHeight, 1, 5000)
camera.rotation.y = 45 / 180 * Math.PI
camera.position.x = 18
camera.position.y = 18
camera.position.z = 18
hlight = new THREE.AmbientLight(0x404040, 5)
scene.add(hlight)
renderer = new THREE.WebGLRenderer({ antialias: true })
renderer.setSize(1024, 567)
controls = new THREE.OrbitControls(camera, renderer.domElement);
document.body.appendChild(renderer.domElement)
let loader = new THREE.GLTFLoader()
loader.load('patiomk2.gltf', function (gltf) {
car = gltf.scene.children[0]
car.scale.set(1000, 1000, 1000)
scene.add(gltf.scene)
animate();
})
}
function animate() {
renderer.render(scene, camera);
requestAnimationFrame(animate);
}
init()
</script>
</div>
And here is what appears in Chrome when I inspect the element
我希望画布出现在以绿色突出显示的 div 中,但它会将其扔到以黄色显示的主体的末尾。
从我在网上阅读的内容来看,这可能与将画布附加到正文末尾的这行代码有关。删除该行会破坏一切,我不知道该怎么做。
document.body.appendChild(renderer.domElement)
任何提示或指导将不胜感激。谢谢。
【问题讨论】: