Samples/MaterialAndTexture/LayeredTexture.py

Samples/MaterialAndTexture/LayeredTexture.py
1 # Copyright 2009 Autodesk, Inc. All rights reserved.
2 # Use of this software is subject to the terms of the Autodesk license agreement
3 # provided at the time of installation or download, or which otherwise accompanies
4 # this software in either electronic or hard copy form.
5 # ...
6 # This scipt is to demonstrate the usage of material and texture.
7 # ...
8 #
9 # Topic: FBLayeredTexture, FBVector3d, FBColor, FBMaterialTextureType, FBTextureBlendMode
10 #
11 
12 # for directory access
13 import os
14 #
15 from pyfbsdk import FBSystem, FBModel, FBModelPlane, FBMaterial, FBTexture, FBLayeredTexture, FBVector3d, FBColor, FBMaterialTextureType, FBTextureBlendMode
16 
17 # Create a plane
18 lPlane = FBModelPlane("My Plane")
19 lPlane.Rotation = FBVector3d(90, 0, 0)
20 lPlane.Translation = FBVector3d(0, 40, 0)
21 lPlane.Show = True
22 lPlane.Visible = True
23 
24 # Create texture layers
25 lTexture1 = FBTexture( os.path.abspath(os.path.join( FBSystem().ApplicationPath, "../system/material_background.tif" ) ) )
26 lTexture2 = FBTexture( os.path.abspath(os.path.join( FBSystem().ApplicationPath, "../system/actor-picture.tif" )) )
27 
28 # Create layeredTexture and constuct its layers
29 lLayeredTexture = FBLayeredTexture("layeredTexture")
30 lLayeredTexture.Layers.append(lTexture2)
31 lLayeredTexture.Layers.append(lTexture1)
32 
33 lTexture2.BlendMode = FBTextureBlendMode.kFBTextureBlendTranslucent
34 
35 
36 # HardSelect layeredTexture to bring up its setting UI
37 lLayeredTexture.HardSelect()
38 
39 # Create a material and connect texture to material's diffuse channel.
40 lMaterial = FBMaterial("My Material")
41 lMaterial.SetTexture(lLayeredTexture, FBMaterialTextureType.kFBMaterialTextureDiffuse)
42 
43 # Map material to plane
44 lPlane.Materials.append(lMaterial)
45