序中创建所要的拍摄主体并给该主体添加材质。由于
flash 中默认导入的 3D 模型是线框材质
的,灯光对其不起作用,所以我们需要在
3D 模型上添加 PhongColorMaterial 材质。具体代
码如下:
Var colorMaterial:PhongColorMaterial=
new PhongColorMaterial(0x666666);
var the3DModel:MyObject=new MyObject();
the3DModel.material=colorMaterial;
myScene.addChild(the3DModel);
以上代码的作用分别是:定义材质、创建拍摄主体三维模型(
MyObject 即为使用插件
导出的创建拍摄主体的类)、将材质添加到拍摄主体三维模型上、将拍摄主体三维模型添加
到场景中。
2.3 三点布光的光源创建
在
Flash Away3D 引擎中有 AmbientLight3D,DirectionalLight3D 和 PointLight3D 三种灯
光的类分别表示点光源、定向光、环境光。根据摄影布光的实际需求选择
DirectionalLight3D
类,在本虚拟布光软件中创建三个光源(可分别作为主体光、辅助光、轮廓光),创建其中
一光源的代码如下:
private var light:DirectionalLight3D;
light=new DirectionalLight3D();
light.direction=new Vector3D(170,0,180);
myScene.addLight(light);
以上代码作用分别是:定义一个定向光源、给定向光源一个方向、将灯光添加到场景中。
2.4 光源有形化和光源的选择
Away3D 中的光源在三维空间的位置是由参数表示的,没有具体的实物来表示是无形
的,在虚拟布光场景中无法看到光源,只能通过光源照在三维模型上反射出来的光才能感
知光源的存在,为了选择和调整光源,创建小立方体来表示光源,小立方体的位置变量和
光源的位置变量设置成一样,小立方体所在的位置就是光源的位置,从而通过小立方体来
选择和调整光源。按以上思路创建三个小立方体(外观颜色为绿、蓝、黄)分别表示三个光源。
对三个光源的调节前提条件是选择,选择哪个光源就是对哪个光源的位置和亮度进行
调节,并且被选择光源表示选中状态(比如用红色表示选中),激活光源
1(外观颜色为
绿的光源)的代码如下(激活其他光源的代码同理):
flag=1;
color=new ColorMaterial(0xff0000);
color01=new ColorMaterial(0x00ff00);
color02=new ColorMaterial(0x0000ff);
color03=new ColorMaterial(0xffff00);
lightbox01.material=color;
lightbox02.material=color02;
lightbox03.material=color03;
其中,
flag=1 表示光源 1 被选中, 用红色表示,同时恢复违背选中的光源 2、光源 3 原
有的外观颜色。
2.5 调节光源强度
光源强度的增加或减小是以鼠标单击按钮方式完成的,所以要注册对应的光源强度的
增加或减小的鼠标事件侦听函数与创建鼠标事件侦听函数。调节光源强度通过改变
Away3D
引擎中的定向光源
DirectionalLight3D 类的属性 brightness 来实现。由于有三个光源,所以要