首先要生成一个Mesh,我们先看API:
Mesh(geometry:Geometry, material:MaterialBase = null)
这是创建一个Mesh的方法那么我们可以看到构成Mesh的有:geometry:Geometry和material:MaterialBase 即是几何体和材质。
这里我将创建一个球体,然后赋给他一个贴图
看一下API
SphereGeometry类:
SphereGeometry(radius:Number = 50, segmentsW:uint = 16, segmentsH:uint = 12, yUp:Boolean = true)
再看一下
TextureMaterial类
TextureMaterial(texture:Texture2DBase = null, smooth:Boolean = true, repeat:Boolean = false, mipmap:Boolean = true)
再看一下
BitmapTexture类
BitmapTexture(bitmapData:BitmapData)
1 package 2 { 3 import away3d.entities.Mesh; 4 import away3d.materials.TextureMaterial; 5 import away3d.primitives.SphereGeometry; 6 import away3d.utils.Cast; 7 import template.AwayTemplate; 8 public class SphereTest extends AwayTemplate 9 {10 [Embed(source = "assets/earth.jpg")]11 private var earth:Class;12 private var sphere:Mesh;13 public function SphereTest()14 {15 super();16 }17 override protected function initView():void18 {19 super.initView();20 initSphere();21 }22 private function initSphere():void23 {24 //建立球体25 var geo:SphereGeometry = new SphereGeometry(400);26 //建立材质27 var texture:TextureMaterial = new TextureMaterial(Cast.bitmapTexture(earth));28 sphere = new Mesh(geo,texture);29 //将物体添加到场景里面显示30 _view.scene.addChild(sphere);31 }32 override protected function render():void33 {34 sphere.yaw(1);35 }36 }37 }
效果
提供贴图:
1024*512
在这里,我相信很多人测试的时候都会出现图片不是2的次方,所以大家在做贴图的时候切记把图片做成高度和宽度都是2的次方。