0
是否可以在3D空間中創建包含許多dom子項的div,以便可以編輯和提交的webgl畫布中的表單。我可以使用任何webgl庫製作3D div
是否可以在3D空間中創建包含許多dom子項的div,以便可以編輯和提交的webgl畫布中的表單。我可以使用任何webgl庫製作3D div
如果你想有DIV在你的3D場景轉換,你可以使用CSS3DObject:
var camera, scene, renderer, geometry, material, mesh, rendererCSS;
init();
animate();
function init() {
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(50, window.innerWidth/window.innerHeight, 1, 10000);
camera.position.z = 500;
scene.add(camera);
var number = document.createElement('div');
number.className = 'number';
number.textContent = "THREE.JS";
object = new THREE.CSS3DObject(number);
scene.add(object);
renderer = new THREE.CSS3DRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
}
function animate() {
requestAnimationFrame(animate);
object.rotation.x += 0.03;
render();
}
function render() {
renderer.render(scene, camera);
}
這裏是complete demo。
如果要在所有3D圖形上顯示2D表單,則可以將包含WebGL畫布的div的絕對位置簡單地覆蓋到該div上。
WebGL是一個光柵化庫。它與DIV或其他HTML元素沒有任何關係,只不過它呈現爲一個畫布元素。所以不,WebGL不能做到這一點。參見'3D CSS' – gman