background image

序中创建所要的拍摄主体并给该主体添加材质。由于

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 来实现。由于有三个光源,所以要