Flare3D作为一款年轻的游戏引擎(目前版本:2.0)。有许多不足之处。下面主要分析一下,如果设置Flash3D的背景图片
1. 创建一个Plane。设置其合适的长度和宽度.这里根据透视投影的特性,计算出plane的宽度和高度,并将plane的Z值设置为camera.far,也就是摄像机可观察范围的最远处。
// Background Plane
var zValue : Number = _scene.camera.far;
var angle : Number = _scene.camera.fieldOfView;
var planeWidth : Number = zValue * Math.tan(angle * Math.PI / 180);
_bgPlane = new Plane("BackgroundPlane", planeWidth, planeWidth / _scene.camera.aspectRatio);
_bgPlane.z = _scene.camera.far;
2.
创建一个Material,制定一个背景图片,并将设置plane的材质属性。
// Background Material
var texture : Texture3D = _scene.addTextureFromFile("resource/xpic1894_s.jpg");
var bgMaterial : Shader3D = new Shader3D("surfaceMaterial", [new TextureFilter(texture)]);
_bgPlane.setMaterial(bgMaterial);
3. 将
plane与摄像机关联,以保证改plane随着摄像机的改变而改变(这一点很重要)
// Link the Background Plane to Camera
_bgPlane.parent = _scene.camera;
4.
将camera添加到场景中
_scene.addChild(_scene.camera);
效果如图所示: