Sandy 3d First (simple cube ...) 3D движок Sandy
Sandy - flash 3D engine доступный в трех версиях: AS2, AS3 и haXe. 28 марта 2009 вышли новые версии AS3 3.1.1 и haXe 3.1. Одна из альтернатив PaperVision 3D. На официальном сайте можно найти много информации и примеров.
Sandy это flash 3D engine. Официальный сайт - http://www.flashsandy.org/. Там же можно найти и исходники и множество примеров, демок и ссылок необходимых для работы с движком.
Сделаем класс, в котором нарисуем куб и применим к его сторонам материалы. Три стороны просто зальем цветом, остальные три - используем в качестве материала картинку.
Часть класса:
...
public function index()
{
var bitmapLoader:Loader = new Loader()
var bitmapUrl:URLRequest = new URLRequest("yabloko.jpg");
bitmapLoader.load(bitmapUrl);
bitmapLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, init);
}
private function init(event:Event):void
{
var loadedBitmap:BitmapData = event.currentTarget.content.bitmapData;
var g:Group = new Group();
//материал с битмап датой BitmapData
var bitmapMaterial:BitmapMaterial = new BitmapMaterial(loadedBitmap);
//материалы с разными цветами
var material_1:Material = new ColorMaterial(0xFFCC33, 1);
material_1.lightingEnable = true;
...
//наш куб
mbox = new Box("mybox", 300, 300, 300, PrimitiveMode.QUAD);
...
//материалы
app1 = new Appearance( bitmapMaterial );
app2 = new Appearance( material_1 );
...
//применяем к разным сторонам куба, также можно сразу применить ко всем сторонам одновременно mbox.appearance = app1;
mbox.aPolygons[0].appearance = app1;
mbox.aPolygons[1].appearance = app2;
...
g.addChild(mbox);
var camera:Camera3D = new Camera3D( 300, 300 );
scene = new Scene3D( "scene", this, camera, g );
//рендерим сцену
addEventListener(Event.ENTER_FRAME, enterFrameHandler)
...
Посмотреть тоже самое на PaperVision 3D - papervision_3d cube (updated)
Исходники - source, приложение - application



Comments ( posted):
Post your comment