Во-первых, все прообразы допустимых фигур находятся в org.papervision3d.objects. Поэтому нужно делать импорт : import org.papervision3d.objects.*.
Какие же существуют примитивы и как с ними общаться?
- Уже знакомая нам плоскость Plane. останавливаться подробно на ней не буду, ее мы видели уже неоднократно.
- Примитив сфера Sphere. Конструктор выглядит как new Sphere( material, 100, 8, 6). При этом первым параметром в него передается радиус сферы. Следующие два параметра определяют количество полигонов, из которых собирается сфера, по горизонтали и вертикали. Чем больше эти числа, тем более "гладкой" будет поверхность сферы.
- Примитив куба Cube. Для него существует определенная специфика. Во-первых, вместо одного материала, для него указывается целый список, персонально для каждой грани. Например, у вас есть два материала. Material - оставшийся с прошлого раза портрет кота, material1 - просто проволочный каркас. И вы хотите сделать куб из фотографий кота, но одна сторона этого куба будет представлять собой проволочку, чтобы можно было заглянуть внутрь куба. Тогда:
var material1:WireframeMaterial = new WireframeMaterial(0xFF0000);
var material:BitmapFileMaterial = new BitmapFileMaterial("texture.jpg");
material.doubleSided = true;
material.smooth = true;
var materiallist:MaterialsList = new MaterialsList();
materiallist.addMaterial(material1,"top");
materiallist.addMaterial(material,"bottom");
materiallist.addMaterial(material,"front");
materiallist.addMaterial(material,"back");
materiallist.addMaterial(material,"left");
materiallist.addMaterial(material,"right"); И для создания самого примитива нужно вызывать конструктор new Cube( materiallist, width, depth, height, a, b, c). width, depth, height - это переменные, отвечающие соответственно за ширину, глубину и высоту куба. А a, b, c - это, как и в предыдущем случае, параметры, регулирующие количество примитивов. Попробуйте установить любой фигуре полностью проволочный каркас и поизменять эти параметры. Сразу станет ясно, какова их роль. - Цилиндр Cylinder. Для создания его нужно вызвать new Cylinder( material, radius, height, a, b). Radius - радиус донца цилиндра, heigth - высота фигуры, a и b - уже знакомые регуляторы числа полигонов.
На сегодняшний день это все, что мне известно о графических примитивах в ПВ. Или, по крайней мере, то, что у меня работает :)
Комментариев нет:
Отправить комментарий