1.文字形状
说起3d文字想起了早年word里的一些艺术字:
那么TextGeometry
可以用来创建三维的文字形状。
使用文字形状需要下载和引用额外的字体库。这里,我们以 helvetiker
字体为例。
引用:
rush:xhtml;">
<script type="text/javascript">
function init() {
var renderer = new THREE.Web<a href="https://www.jb51.cc/tag/glr/" target="_blank" class="keywords">glr</a>enderer({
canvas: document.getElementById('mainCanvas')
});
renderer.setClearColor(0x000000);
var scene = new THREE.Scene();
// camera
var camera = new THREE.OrthographicCamera(-2.5,2.5,1.875,-1.875,0.1,100);
camera.position.set(5,5,20);
camera.lookAt(new THREE.Vector3(1,0));
scene.add(camera);
// var material = new THREE.MeshBasicMaterial({
// color: 0xffff00,// wireframe: true
// });
//金属发亮物体
var material = new THREE.MeshphongMaterial({
color: 0xffff00,//指定该材质的光亮程度及其高光部分的颜色,如果设置成和color属性相同的颜色,则会得到另一个更加类似金属的材质,如果设置成grey灰色,则看起来像塑料
shininess:0
//指定高光部分的亮度,默认值为30
});
//方向光
var light = new THREE.DirectionalLight(0xffffff);
light.position.set(-5,5);
scene.add(light);
// load font
var loader = new THREE.FontLoader();
loader.load('./helvetiker_regular.typeface.json',function(font) {
var mesh = new THREE.Mesh(new THREE.TextGeometry('Hello',{
font: font,size: 1,height: 1
}),material);
scene.add(mesh);
// render
renderer.render(scene,camera);
});
}
</script>