【发布时间】:2013-11-03 01:11:08
【问题描述】:
考虑下面的代码:
<html>
<head>
<title>My first Three.js app</title>
<style>canvas { width: 100%; height: 100% }</style>
</head>
<body>
<script src="https://rawgithub.com/mrdoob/three.js/master/build/three.js"> </script>
<script>
var scene=new THREE.Scene();
var axis;
var camera = new THREE.PerspectiveCamera( 35, window.innerWidth/window.innerHeight, 0.1, 10000);
camera.position.z = 3;
var renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize(document.body.clientWidth,document.body.clientHeight);
document.body.appendChild(renderer.domElement);
renderer.setClearColorHex(0xEEEEEE, 1.0);
renderer.clear();
var cube = new THREE.Mesh( new THREE.CubeGeometry(50,50,50),new THREE.MeshBasicMaterial({color: 0x000000}));
scene.add( cube );
function animate(t) {
camera.position.x = Math.sin(t/1000)*300;
camera.position.y = 150;
camera.position.z = Math.cos(t/1000)*300;
camera.lookAt(scene.position);
renderer.render(scene, camera);
renderer.shadowMapEnabled = true;
window.requestAnimationFrame(animate, renderer.domElement);// auto called - many advantages
};
animate(new Date().getTime());
axis = new THREE.AxisHelper(75);
scene.add(axis);
</script>
</body>
</html>
以上代码在立方体中创建 x,y,z 轴。
请帮我标记轴。
带标签的文本必须随轴旋转。
我需要一个示例代码来自定义 THREE.js 中的轴助手(创建标签)
【问题讨论】:
-
到目前为止,您尝试了哪些步骤来实现目标?我刚刚看到你添加了
AxisHelper。您是否尝试过TextGeometry,并将其放置在每行的末尾?也许将 TextGeomety.lookAt 设置为相机对象?
标签: javascript canvas three.js