javascript - 三.js 将图像放在摄像头前
问题描述
我正在尝试为一个项目制作飞行模拟器,并且我正在尝试将驾驶舱图像放在我的相机前,该相机由 FirstPersonControls 控制,我尝试了很多东西,但我无法让它工作.
我在一个:Codepen Project
这是我试图放置图像的地方。
function onTextureLoad(texture) {
console.log(texture);
var geometry = new THREE.PlaneGeometry(2, 2, 0);
var material = new THREE.MeshBasicMaterial({
map: texture, transparent: true, opacity: 1
});
var geometryco = new THREE.PlaneGeometry(100,100,100,100);
var cockpit = new THREE.Mesh(geometryco, material);
cockpit.position.set(0,20,0);
scene.add(cockpit);
render();
}
任何帮助,将不胜感激
解决方案
另一种选择是将驾驶舱放在img
标签中,该标签位于渲染器画布的前面:
html:
<img src="https://i.imgur.com/VfF0ada.png" style="position:absolute; width:100%; height:100%"/>
js:
renderer = new THREE.WebGLRenderer({});
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
推荐阅读
- google-streetview-publish - 谷歌街景api参数高度总是显示“南”
- javascript - 从另一个页面单击链接时打开特定选项卡
- mysql - 我在选择这个更新时做错了什么
- c# - AuthenticationHandler 每次都调用,甚至不需要 Controller 授权
- android - android studio 中 android 应用程序的 ip 摄像头视图
- java - 为什么不让返回类型 String 允许我在函数中返回字符串
- javascript - 在反应中管理嵌套组件中的状态
- java - Proguard for java混淆,从windows迁移到mac,找不到classes.jar
- reactjs - 反应路由器 - 重定向除一个以外的所有路由
- java - 在 Spinner itemSelected 上重新加载数据