three.js - 如何在three.js中生成具有3个面的形状
问题描述
我正在尝试生成这样的形状,具有透明面的 3d 矩形或仅以 3d 方式生成的 3 个面板。
我是 three.js 的新手,我想知道这是否可行以及您是否可以指导我。
非常感谢!
你可以在这里找到我想要生成的图像: https ://i.stack.imgur.com/h0ja7.png
解决方案
作为一种选择,您可以这样做:
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 1000);
camera.position.set(2, 2, 3);
camera.lookAt(scene.position);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0x404040);
document.body.appendChild(renderer.domElement);
var contorls = new THREE.OrbitControls(camera, renderer.domElement);
var boxGeom = new THREE.BoxGeometry(2, 1, 1);
var mat1 = new THREE.MeshBasicMaterial({
color: "red",
side: THREE.DoubleSide
});
var mat2 = new THREE.MeshBasicMaterial({
color: "aqua",
side: THREE.DoubleSide,
transparent: true,
opacity: 0.5
});
var boxMat = [mat1, mat1, null, null, mat2, null];
var box = new THREE.Mesh(boxGeom, boxMat);
scene.add(box);
render();
function render() {
requestAnimationFrame(render);
renderer.render(scene, camera);
}
body {
overflow: hidden;
margin: 0;
}
<script src="https://threejs.org/build/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
推荐阅读
- go - 存在步骤时的Godog未定义步骤
- java - 在java中使用selenium我想点击cookie的“接受”按钮
- huawei-mobile-services - HMS Core(APK)更新弹窗无法关闭导致联合作战应用/游戏被拒绝怎么办?
- python - 如何在 python 中使用 realsense、darknet 和 deproject_point_to_pixel() 来计算对象的大小
- reactjs - 如何从角度应用程序中的反应应用程序接收更新的身份验证令牌
- python - 如何使用 expected_conditions.text_to_be_present_in_element_value,但 _text 参数是元组中的任何字符串?
- python - 按函数过滤 numpy 数组
- c# - 如何防止“不是有效的虚拟路径”。问题?
- new-operator - 如何将 Sublime 默认浏览器设置为 Mozilla Developer Edition?
- docker - macOS Catalina 升级后 Docker 构建失败