Теперь очередь дошла и до материала. Позволим себе несколько вольностей все с тем же самым, первым примером. Кроме ColorMaterial в ПВ имеется целый набор классов (загляните в ...\src\org\papervision3d\materials). В качестве примера возьмем, скажем, проволочный карскас из WireframeMaterial.
Переделки, которые потребуются в коде, выделены жирным:
public function ExampleTransformationRotate()
{
container = new Sprite;
container.x = 200;
container.y = 200;
addChild( container );
scene = new MovieScene3D( container );
camera = new Camera3D();
camera.z = -500;
camera.zoom = 5;
var material:WireframeMaterial = new WireframeMaterial();
material.doubleSided = true;
//material.fillColor = 0x00FF00;
//material.fillAlpha = 1.0;
plane = new Plane( material, 100, 100, 1, 1 );
scene.addChild( plane );
stage.addEventListener( Event.ENTER_FRAME, onEnterFrame );
}
Запустив переделанный пример, пронаблюдаем уже не полностью залитый квадрат, а его проволочное подобие с одной диагональю.
Довольно интересен movieAssetMaterial. Для того, чтобы пронаблюдать его в действии, придется создать в библиотеке специальный мувиклип.
Итак, создаем новый пустой мувиклип в библиотеке главного fla-файла. Назовем его myClip и сделаем настройку экспорта с тем же самым именем. Внутри него нарисуем квадратик со стороной 100 (такой же размер, как и размер летающего квадрата). Сделаем в нем простейшую анимацию. В моем случае, это светло-желтый круг, который в течение 50-и кадров увеличивается и уменьшается в размере.
Теперь видоизменим код, чтобы дать понять фильму, какой материал будет использован: public function ExampleTransformationRotate()
{
container = new Sprite;
container.x = 200;
container.y = 200;
addChild( container );
scene = new MovieScene3D( container );
camera = new Camera3D();
camera.z = -500;
camera.zoom = 5;
var material:MovieAssetMaterial = new MovieAssetMaterial("myClip", false);
material.doubleSided = true;
material.animated = true;
plane = new Plane( material, 100, 100, 1, 1 );
scene.addChild( plane );
stage.addEventListener( Event.ENTER_FRAME, onEnterFrame );
}
Я не освоилась еще с этим блогом, поэтому не пойму, как здесь выложить архив с примером. Опишу словами: летает квадратик, на который натянут ваш клип из библиотеки. При этом клип проигрывается. Примеры можно скачать с этой англоязычной странички: http://content.madvertices.com/articles/PV3DTraining/default.htm#I.
Допишу свой тернистый путь завтра. А пока - вот ссылки, по которым я копалась. http://wiki.papervision3d.org/index.php?title=Main_Page http://wiki.papervision3d.org/index.php?title=Examples http://www.madvertices.com/2008/01/papervision-3d-training-videos.html http://pv3d.org/2008/03/26/dynamic-parenting/ http://papervision2.com/ http://osflash.org/tutorials
Туториалс - http://www.webdesignermag.co.uk/tutorial_files.html
Показаны сообщения с ярлыком пример. Показать все сообщения
Показаны сообщения с ярлыком пример. Показать все сообщения
вторник, 8 апреля 2008 г.
Papervision 3d: может, познакомимся?
В связи с тем, что я "провтыкала" уже несколько работ только потому, что не хотела связываться с данным инструментом, вот, назрела необходимость.
1) Откуда взять Papervision?
Лично я брала с googleCodes. Выкачала свн-ом почти 20 мб всякой всячины вот отсюда. И положила на диск С в каталог PaperVision.
2) И что делать со всем выкачанным добром?
Дальше нужно заставить Flash IDE увидеть установленные классы. Для этого нужно ее (Flash) запустить. Создать новый документ. Зайти в Edit->Preferences->ActionScript и там нажать на кнопочку ActionScript 3.0 Settings. В появившемся окошке следует добавить путь к скачанным классам. В моем случае C:\Papervision\googlecode\as3\trunk\src . Сиреневая часть пути зависит от того, куда вы сложите скачанный код. После этой прописи Flash начнет видеть ПВ.
3) Первый пример для Papervision.
Предлагается для ознакомления на http://wiki.papervision3d.org/. В разделе Using Papervision3D -> Tutorials. Это вращающаяся плоскость красного цвета.
Для того, чтобы его посмотреть, нужно сделать следующее:
1) Откуда взять Papervision?
Лично я брала с googleCodes. Выкачала свн-ом почти 20 мб всякой всячины вот отсюда. И положила на диск С в каталог PaperVision.
2) И что делать со всем выкачанным добром?
Дальше нужно заставить Flash IDE увидеть установленные классы. Для этого нужно ее (Flash) запустить. Создать новый документ. Зайти в Edit->Preferences->ActionScript и там нажать на кнопочку ActionScript 3.0 Settings. В появившемся окошке следует добавить путь к скачанным классам. В моем случае C:\Papervision\googlecode\as3\trunk\src . Сиреневая часть пути зависит от того, куда вы сложите скачанный код. После этой прописи Flash начнет видеть ПВ.
3) Первый пример для Papervision.
Предлагается для ознакомления на http://wiki.papervision3d.org/. В разделе Using Papervision3D -> Tutorials. Это вращающаяся плоскость красного цвета.
Для того, чтобы его посмотреть, нужно сделать следующее:
- Создать новый Flash документ и сохранить его куда-нибудь. Помните, что благодаря прописыванию путей к классам, наш пример теперь увидит все, что нужно.
- Создайте as-файл и сохраните его туда же под именем ExampleTransformationRotate.as
- Во вновь созданном документе на панели Properties в поле для ввода Document Class укажите ExampleTransformationRotate. Обратите внимание, что расширение файла здесь не указывается.
- В as-файл вставьте код:
package
{
import flash.display.Sprite;
import flash.events.Event;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.objects.*;
import org.papervision3d.materials.*;
import org.papervision3d.scenes.MovieScene3D;
[SWF(width='400',height='400',backgroundColor='0x000000',frameRate='30')]
public class ExampleTransformationRotate extends Sprite
{
private var container: Sprite;
private var scene: MovieScene3D;
private var camera: Camera3D;
private var plane:Plane;
public function ExampleTransformationRotate()
{
container = new Sprite;
container.x = 200;
container.y = 200;
addChild( container );
scene = new MovieScene3D( container );
camera = new Camera3D();
camera.z = -500; camera.zoom = 5;
material:ColorMaterial = new ColorMaterial();
material.doubleSided = true;
material.fillColor = 0xFF0000;
material.fillAlpha = 1.0;
plane = new Plane( material, 128, 128, 1, 1 );
scene.addChild( plane );
stage.addEventListener( Event.ENTER_FRAME, onEnterFrame );
}
private function onEnterFrame( event: Event ): void
{
plane.rotationX += 4.35;
plane.rotationY += 6.55;
plane.rotationZ += 0.55;
scene.renderCamera( camera );
}
}
} - Сохраните as-файл.
- Запустите свой fla-исходник.
Крутится? Лично у меня получился вращающийся плоский красный квадратик. Правда, выкинулось в трейс cообщение:
Papervision3D Beta RC1 (18.06.07)
DisplayObject3D: null
DisplayObject3D: null
DisplayObject3D: null
Оно осталось для меня загадкой.
В общем, можно себя поздравить: хеллоу, ворлд, так сказать, сделан!
Подписаться на:
Сообщения (Atom)