Показать сообщение отдельно
Старый 19.11.2009, 09:50
vector3d вне форума Посмотреть профиль Отправить личное сообщение для vector3d Найти все сообщения от vector3d
  № 2  
Ответить с цитированием
vector3d

Регистрация: Nov 2005
Адрес: г.Воронеж
Сообщений: 139
Отправить сообщение для vector3d с помощью ICQ Отправить сообщение для vector3d с помощью Skype™
Нашел вот такой вот скрипт:

(но он для AS2, а надо бы AS3)

Код AS1/AS2:
// HelloCollada//подключаем классы из папервижна(я думаю, и так понятно, что именно=)):import org.papervision3d.cameras.Camera3D;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.objects.Collada;
import org.papervision3d.scenes.Scene3D;//а так же замечательный флешовый класс битмап дата, способный творить чудеса на виражах
import flash.display.BitmapData;//наш класс дополняет ы) классика =)...
 
class org.papervision3d.samples.collada.HelloCollada extends MovieClip
{
// _______________________________________________________________________
// vars3D
var container :MovieClip;//создаем контейнер для сцены
var scene :Scene3D;//создаем сцену
var camera :Camera3D;//создаем камеру
var sphere :Collada;//создаем объект для загрузки .dae
 
// _______________________________________________________________________
// Main
function HelloCollada()//самая важная функция в нашем проекте
{
init3D();//чтобы понять, что она делает, читаем дальше
 
this.onEnterFrame = loop3D;//вешаем функцию на событие
}
 
// _______________________________________________________________________
// Init3D Читаем внимательно, все очень просто и доступно (и по-английски тоже)
function init3D()
{
 
// Create container movieclip and center it Создаем контейнер из пустого мувика, и центрируем его на сцене флеша
container = this.createEmptyMovieClip( "container", this.getNextHighestDepth() );
container._x = 320;
container._y = 240;
 
// Create scene Создаем 3д сцену
scene = new Scene3D( container );
 
// Create camera Создаем камеру
camera = new Camera3D();
camera.zoom = 1;
 
// Create material Создаем материал
var texture :BitmapData = BitmapData.loadBitmap( "Bitmap" );//загружаем прилинкованный битмап из библиотеки (см. файл .fla) - используется как текстура
var material :BitmapMaterial = new BitmapMaterial( texture );//запихиваем тексуру в материал
material.oneSide = true; // Make it single sided. this gives a performance boost Делаем его ОДНОСТОРОННИМ!!! это так же как и в максе дает прирост скорости при рендере
 
// Load sphere Грузим колладу, ставим настройки ее отображения
sphere = new Collada( material, colladaMine, .2 );
sphere.rotationX = 45;
 
// Include in scene Вставляем в сцену коллада модель, которую мы загрузили
scene.push( sphere );
}
 
// _______________________________________________________________________
// Loop
function loop3D()//Эта функция крутит модель, в зависимости от положения курсора мыши
{
sphere.rotationY = container._xmouse /2;
sphere.rotationX = container._ymouse /2;
 
// Render
scene.renderCamera( camera ); //вывод на экран
}
}
 
on (release){ colladaMine=my_dae.text;
container.clear();
init3D();}


Последний раз редактировалось vector3d; 19.11.2009 в 09:53.