Установка Yogurt3D и Adobe Stage3D API на ваш компьютер. - Остальное - Игровые движки
Навигация по сайту
Сайт:

Дополнительно:

Файловый архив:

Каталог статей:

Форум:


Категории раздела
Blitz 3D [8]
Остальное [3]
Все остальное, что не попадает ни под одну категорию.

Мини-Опрос
Чему вы отдаете большее предпочтение?
Всего ответов: 465

Партнеры сайта
....

 Главная » Статьи » Игровые движки » Остальное » Установка Yogurt3D и Adobe Stage3D API на ваш компьютер.

Установка Yogurt3D и Adobe Stage3D API на ваш компьютер.

20:59



Этот туториал иллюстрирует установку Yogurt3D и Adobe Stage3D API на ваш компьютер. 
Вы можете так же использовать Adobe Flash или другие альтернативные IDE, такие как FlashDevelop для создания вашего Yogurt3D приложения.




Для ADOBE FLASH BUILDER:

Шаг 1: скачивание Yogurt3D

  • скачайте Yogurt3D "Ayran" релиз
  • распакуйте .swc файл в папку где будет находиться ваш проект

    Шаг 2: скачивание Flash Player 11 Public Beta если у вас ещё нет его

  • скачайте и установите Flash Player 11 Beta

    Шаг 3: скачивание и установка FLEX SDK для Molehill/Stage3D

  • скачайте последний Flex SDK 4.5.1
  • распакуйте Flex SDK в папку C:\Program Files\Adobe\Adobe Flash Builder 4\sdks\4.5.1
  • скачайте flashplayer11_b2_playerglobal.swc файл, переименуйте в playerglobal.swc и копируйте в <Flex SDK folder>\frameworks\libs\player\11.0.

    Шаг 4: настройки FlashBuilder
  • создание вашего проекта

  • добавьте Yogurt3D.swc к вашему проекту
  • откройте диалог Project -> Properties и перейдите в настройки ActionScript Build Path
    [img]http://www.yogurt3d.com/_img/tutorial/project%20menu.jpg[/img]

  • выберите вкладку Library Path
  • нажмите кнопку Add SWC и выберите файл Yogurt3D.swc
    [img]http://www.yogurt3d.com/_img/tutorial/project%20menu.jpg[/img]
  • связывание Flex SDK с вашим проектом

    • откройте Project -> Properties диалог и перейдите в настройки ActionScript Compiler
    • нажмите "Configure Flex SDKs.." ссылка справа
    • добавьте загруженный Flex SDK к списку Installed Flex SDKs с новым именем (Flex 4.5.1)
    • нажмите ОК и вернитесь в настройки ActionScript Compiler
    • выберите вашу новую Flex SDK Version
    • Use a specific version:11.0.0
    • измените swf версию с Additional compile arguments на -swf-version=13


    Шаг 5: пользуйтесь!
  • погрузитесь в мир Yogurt3D и 3D Flash! Туториалы и Example Pack это быстрейший путь для начала
  • если вам нужна какая то помощь то просто посетите Форум или на пишите на e-mail

  • надеюсь этот урок поможет вам установить и начать работать с yogurt3d
    данный туториал является переводом официального
    оригинал вы можете найти сдесь
    пожалуйста оставляйте ваши комментарии и пожелания

    Добавлено (07.05.2012, 13:18)
    ---------------------------------------------
    в дальнейшем туториалы будут представлять из себя отрывки кода с комментариями
    к сожалению ответить на ваши вопросы относительно кода Я не смогу т.к не работал ни с кодом, ни с движком
    package
    {
    import com.yogurt3d.Yogurt3D;
    import com.yogurt3d.core.cameras.Camera;
    import com.yogurt3d.core.events.Yogurt3DEvent;
    import com.yogurt3d.core.materials.MaterialFill;
    import com.yogurt3d.core.sceneobjects.SceneObjectContainer;
    import com.yogurt3d.presets.primitives.sceneobjects.BoxSceneObject;

    import flash.display.Sprite;
    import flash.events.Event;
    import flash.geom.Vector3D;

    import mx.containers.Box;

    [SWF(width="400", height="300", frameRate="60", wmode="direct")]
    public class Tutorial1 extends Sprite
    {
    public var container:SceneObjectContainer;

    public function Tutorial1()
    {
    // Мы инициализируем Out Engine
    Yogurt3D.instance.addEventListener( Yogurt3DEvent.READY , onEngineReady );
    Yogurt3D.instance.init( this.stage );
    }
    public function onEngineReady( _e:Event ):void{
    // Мы создаём нашу начальную сцену
    Yogurt3D.instance.defaultSetup( 400, 300 );

    // Установите цвет фона на Red
    Yogurt3D.instance.defaultScene.sceneColor = 0xFF0000;

    // Создайте green box
    var box1:BoxSceneObject = new BoxSceneObject();
    box1.material = new MaterialFill(0x00FF00);
    box1.transformation.x = -10;

    // Создайте blue box
    var box2:BoxSceneObject = new BoxSceneObject();
    box2.material = new MaterialFill(0x0000FF);
    box2.transformation.x = 10;

    // Создайте container и поместите box'ы внутрь
    container = new SceneObjectContainer();
    container.addChild( box1 );
    container.addChild( box2 );

    // добавьте container на сцену
    Yogurt3D.instance.defaultScene.addChild( container );

    // Создайте произвольную camerа
    var camera:Camera = Yogurt3D.instance.defaultCamera as Camera;

    // позиция и вращение camera
    camera.transformation.z = 100;
    camera.transformation.y = 10;
    camera.transformation.lookAt( new Vector3D(0, 0, 0 ) );

    // начните rendering
    Yogurt3D.instance.startAutoUpdate();

    // на вводе в кадр вращайте container
    Yogurt3D.instance.enginePreUpdateCallback = function():void{
    container.transformation.rotationY++;
    };
    }

    }
    }


    Добавлено (07.05.2012, 15:44)
    ---------------------------------------------
    package
    {
    import com.yogurt3d.Yogurt3D;
    import com.yogurt3d.core.events.Yogurt3DEvent;
    import com.yogurt3d.core.lights.Light;
    import com.yogurt3d.core.materials.MaterialDiffuseFill;
    import com.yogurt3d.core.materials.MaterialFill;
    import com.yogurt3d.core.sceneobjects.SceneObject;
    import com.yogurt3d.presets.primitives.sceneobjects.BoxSceneObject;

    import flash.display.Sprite;
    import flash.events.Event;
    import flash.geom.Vector3D;

    [SWF(width="400", height="300")] // initialize SWF size to be 800 by 600
    public class BasicLight extends Sprite
    {
    // мы определили переменную SceneObject как элемент: box типа BoxSceneObject
    public var box:BoxSceneObject;

    // начальная точка: иннициализируем движок Yogurt3D
    public function BasicLight()
    {
    Yogurt3D.instance.addEventListener( Yogurt3DEvent.READY, onContextReady );
    // инициализируем Yogurt3D событие
    Yogurt3D.instance.init( this.stage );
    }

    // создадим сцену и начнём отображение когда Context3D будет готов
    public function onContextReady( _e:Event ):void{
    // здесь мы инициализируем сцену. ничего на экран не выводится пока.

    // инициализируйте ваш Yogurt3D с произвольными установками (scene, camera, renderer и т.д.)
    Yogurt3D.instance.defaultSetup(400,300);
    // изменим цвет фона на сцене (сцена по умолчанию) на красный (0xFF0000 in hex rgb)
    Yogurt3D.instance.defaultScene.sceneColor = 0xEFEFEF;

    // создадим actual box обьект с произвольными параметрами (в начале координат)
    box = new BoxSceneObject();
    // добавим материал в box: заполним зелёным, непрозрачным диффузором
    box.material = new MaterialDiffuseFill( 0x00FF00,1 );

    // просто добавим box на сцену. box появится произвольно на сцене
    Yogurt3D.instance.defaultScene.addChild( box );

    // установки камеры
    // мы имеем камеру по умолчанию на сцене. давайте изменим её положение на -20 по оси z

    Yogurt3D.instance.defaultCamera.transformation.position = new Vector3D( 0,10,-30 );
    // и пусть камера смотрит на начало координат (0,0,0)
    Yogurt3D.instance.defaultCamera.transformation.lookAt( new Vector3D );

    // редактирование света
    // мы создадим новый источник света с произвольными параметрами.
    // направление света, значит, что световые лучи параллельны, так же как если бы они приходили из источника в бесконечности.

    var light:Light = new Light( Light.DIRECTIONAL_LIGHT );
    // установим позицию источника света
    light.transformation.position = new Vector3D(-10,45,-10);
    // и он направляется на сцену
    light.transformation.lookAt( new Vector3D );
    // добавим вновь созданный световой обьект на сцену
    Yogurt3D.instance.defaultScene.addChild( light );

    // сейчас мы готовы отобразить сцену
    // начало рендеринга
    Yogurt3D.instance.startAutoUpdate();
    // регистрация обратного вызова функции названа до отображения каждого кадра
    Yogurt3D.instance.enginePreUpdateCallback = onEnterFrame;
    }
    // это называется перед отрисовкой каждого кадра: вращение box'a вокруг оси y
    public function onEnterFrame( ):void{
    box.transformation.rotationY+=1; // добавление вращения на 1 градус
    }добавление вращения на 1 градус

    }
    }
    этот и предыдущий урок можно найти
    на странице http://www.yogurt3d.com/support/tutorials
    по заголовкам Quik Start tutorial и Basic lighting tutorial


    Добавлено (23.05.2012, 16:06)
    ---------------------------------------------
    Программа в этом уроке, по существу тоже самое, что и Basic Lighting Tutorial.
    На сей раз, однако, вместо того, что бы обновлять сцену на кадре, мы используем
    tick manager и обновляем сцену каждый тик таймера.
    tick manager передаёт объекту Time Info, так что бы мы могли отслеживать время.


    package
    {
    importcom.yogurt3d.Yogurt3D;
    importcom.yogurt3d.core.events.Yogurt3DEvent;
    importcom.yogurt3d.core.lights.Light;
    importcom.yogurt3d.core.managers.tickmanager.TickManager;
    importcom.yogurt3d.core.managers.tickmanager.TimeInfo;
    importcom.yogurt3d.core.materials.MaterialDiffuseFill;
    importcom.yogurt3d.core.materials.MaterialFill;
    importcom.yogurt3d.core.objects.interfaces.ITickedObject;
    importcom.yogurt3d.core.sceneobjects.SceneObject;
    importcom.yogurt3d.presets.primitives.sceneobjects.BoxSceneObject;

    importflash.display.Sprite;
    importflash.events.Event;
    importflash.geom.Vector3D;

    [SWF(width="800", height="600", frameRate="120")]// инициализация SWF с фиксированной скоростью кадров 120 fps
    /* Это время нашего класса реализует ITickedObject интерфейс. Отсюда, должен
    выполняться метод updateWithTimeInfo(_timeInfo:TimeInfo)*/

    public class Y3D_TimingTest extends Sprite implements ITickedObject
    {

    public var box:BoxSceneObject;

    // конструктор, так же как в предыдущих уроках, инициализирует движок
    public function Y3D_TimingTest()
    {
    Yogurt3D.instance.addEventListener( Yogurt3DEvent.READY, onContextReady );
    Yogurt3D.instance.init( this.stage );
    }

    // инициализация сцены с произвольными установками, добавления box'а и света
    public function onContextReady( _e:Event ):void{

    Yogurt3D.instance.defaultSetup( );

    Yogurt3D.instance.defaultScene.sceneColor = 0xFF0000;

    box = new BoxSceneObject();

    box.material = new MaterialDiffuseFill( 0x00FF00,1 );

    Yogurt3D.instance.defaultScene.addChild( box );

    Yogurt3D.instance.defaultCamera.transformation.position = new Vector3D( 0,0,-20 );

    Yogurt3D.instance.defaultCamera.transformation.lookAt( new Vector3D );

    var light:Light = new Light( Light.DIRECTIONAL_LIGHT );

    light.transformation.position = new Vector3D(-10,-10,-10);

    light.transformation.lookAt( [/color]new Vector3D );

    Yogurt3D.instance.defaultScene.addChild( light );

    [color=green]// начать отображение контура

    Yogurt3D.instance.startAutoUpdate();

    // регистрация объекта Y3D_TimingTest в Tick Manager
    TickManager.registerObject( this );
    }

    // Это метод обновления сцены согласно time info
    // Tick manager тикает каждый кадр
    // timeInfo имеет 3 вида информации времени
    // systemTime:
    // objectTime:
    // deltaTime:

    public function updateWithTimeInfo(_timeInfo:TimeInfo):void{
    // вращение box'a согласно объекту Time info
    box.transformation.rotationY = _timeInfo.objectTime / 1000 * 60;
    }

    }
    }


    Добавлено (24.05.2012, 19:51)
    ---------------------------------------------
    Spot Light Tutorial

    package
    {
    import com.yogurt3d.Yogurt3D;
    import com.yogurt3d.core.events.Yogurt3DEvent;
    import com.yogurt3d.core.lights.Light;
    import com.yogurt3d.core.lights.RenderableLight;
    import com.yogurt3d.core.materials.MaterialDiffuseFill;
    import com.yogurt3d.presets.primitives.sceneobjects.PlaneSceneObject;
    import com.yogurt3d.core.managers.tickmanager.TickManager;
    import com.yogurt3d.core.managers.tickmanager.TimeInfo;
    import com.yogurt3d.core.objects.interfaces.ITickedObject;

    import flash.display.Sprite;
    import flash.events.Event;
    import flash.geom.Vector3D;

    [SWF(width="400", height="300")]
    public class SpotLightTutorial extends Sprite implements ITickedObject
    {
    var spot1:Light;
    var spot2:RenderableLight;

    // starting point: initialize the Yogurt3D engine
    public function SpotLightTutorial()
    {
    Yogurt3D.instance.addEventListener( Yogurt3DEvent.READY, onContextReady );
    Yogurt3D.instance.init( this.stage );
    }

    // Создадим сцену и начнём рендеринг, когда будет готов Context3D

    public function onContextReady( _e:Event ):void{

    // Инициализируем движок Yogurt3D с произвольными установками (scene, camera, renderer etc.)
    Yogurt3D.instance.defaultSetup(400,300);
    // изменим цвет фона сцены в Yogurt3D на синий
    Yogurt3D.instance.defaultScene.sceneColor = 0x6b9cc4;

    // создадим плоскость 10 на 10, выполняющую функции пола
    // по умолчанию плоскость лежит в y = 0

    var ground:PlaneSceneObject = new PlaneSceneObject(10,10);
    // установим цвет света на коричневый
    ground.material = new MaterialDiffuseFill( 0xFFFFFF);
    Yogurt3D.instance.defaultScene.addChild( ground);

    // Настройки камеры
    // У нас на сцене уже есть камера по умолчанию. Чуть-чуть поднимем камеру от пола и посмотрим на начало координат

    Yogurt3D.instance.defaultCamera.transformation.position = new Vector3D( 8, 10, 8 );
    Yogurt3D.instance.defaultCamera.transformation.lookAt( new Vector3D );

    // Добавление Spot Light
    // создадим первый spot light с желтоватым цветом

    spot1 = new Light( Light.SPOT_LIGHT, 0xffea00, 1);
    // установим позицию источника света
    spot1.transformation.position = new Vector3D(5,5,-5);
    // и направим его в начало координат сцены
    spot1.transformation.lookAt(new Vector3D(0,0,0));
    spot1.innerConeAngle = 20;
    spot1.outerConeAngle = 30;
    // добавим вновь созданный световой объект на сцену
    Yogurt3D.instance.defaultScene.addChild( spot1 );

    // Давайте добавим второй spot light, на этот раз используя класс RenderableLight.
    // RenderableLight такой же как и класс Light за исключением того, что источник света видимый
    // Это очень полезно, для целей разработки или дебагинга.

    spot2 = new RenderableLight(Light.SPOT_LIGHT, 0xd957c2); // create as a purple spot light
    spot2.transformation.position = new Vector3D(0,5,0); // hangs just above the origin
    spot2.light.innerConeAngle = 20;
    spot2.light.outerConeAngle = 30;
    // снова посмотрим в начало координат ( на этот раз мы добавим маленькую анимацию)
    spot2.transformation.lookAt( new Vector3D );
    // добавим свет на сцену
    Yogurt3D.instance.defaultScene.addChild( spot2 );

    // теперь мы готовы к рендеру сцены
    // начнём рендер

    Yogurt3D.instance.startAutoUpdate();

    // зарегистрируем Y3D_TimingTest объект в Tick Manager
    TickManager.registerObject( this );
    }


    // это называется до рендеринга каждого кадра
    // мы хотим анимировать spot2 (фиолетовый отображаемый spot)

    public function updateWithTimeInfo(_timeInfo:TimeInfo):void{
    // изменим положение света, согласно информации objectTime
    spot2.transformation.lookAt(new Vector3D(Math.sin( _timeInfo.objectTime / 1000 ) * 5, 0, Math.sin( _timeInfo.objectTime / 1000 ) * 5));
    }
    }
    }

    Добавлено (24.05.2012, 20:05)
    ---------------------------------------------

    package
    {
    import com.yogurt3d.Yogurt3D;
    import com.yogurt3d.core.events.Yogurt3DEvent;
    import com.yogurt3d.core.sceneobjects.SkyBox;
    import com.yogurt3d.core.texture.CubeTextureMap;

    import flash.display.Sprite;
    import flash.geom.Matrix3D;
    import flash.geom.Vector3D;

    [SWF(width="400", height="300")]
    public class SkyBoxTutorial extends Sprite
    {
    /**
    * Встроим изображение скайбокса
    **/
    [Embed(source="../resources/hills_negative_x.png")]
    private var embednegativeX:Class;

    [Embed(source="../resources/hills_negative_y.png")]
    private var embednegativeY:Class;

    [Embed(source="../resources/hills_negative_z.png")]
    private var embednegativeZ:Class;

    [Embed(source="../resources/hills_positive_x.png")]
    private var embedpositiveX:Class;

    [Embed(source="../resources/hills_positive_y.png")]
    private var embedpositiveY:Class;

    [Embed(source="../resources/hills_positive_z.png")]
    private var embedpositiveZ:Class;

    public function SkyBoxTutorial()
    {
    super();
    Yogurt3D.instance.addEventListener( Yogurt3DEvent.READY, onContextReady );
    Yogurt3D.instance.init( this.stage );
    }
    public function onContextReady( _e:Yogurt3DEvent ):void{
    Yogurt3D.instance.defaultSetup( 400,300 );
    Yogurt3D.instance.defaultScene.sceneColor = 0xEFEFEF;

    // создадим cubemap из встроенного изображения.
    var cubeTexture:CubeTextureMap = new CubeTextureMap();
    cubeTexture.setFace( CubeTextureMap.NEGATIVE_X, new embednegativeX() );
    cubeTexture.setFace( CubeTextureMap.NEGATIVE_Y, new embednegativeY() );
    cubeTexture.setFace( CubeTextureMap.NEGATIVE_Z, new embednegativeZ() );
    cubeTexture.setFace( CubeTextureMap.POSITIVE_X, new embedpositiveX() );
    cubeTexture.setFace( CubeTextureMap.POSITIVE_Y, new embedpositiveY() );
    cubeTexture.setFace( CubeTextureMap.POSITIVE_Z, new embedpositiveZ() );

    // создадим skybox из cubeMap
    var skybox:SkyBox = new SkyBox( cubeTexture );

    // установим текущий skybox сцены
    Yogurt3D.instance.defaultScene.skyBox = skybox;

    Yogurt3D.instance.enginePreUpdateCallback = function():void{
    // повернём камеру на центр кадра
    Yogurt3D.instance.defaultCamera.transformation.rotationX ++;
    Yogurt3D.instance.defaultCamera.transformation.rotationY ++;
    };

    Yogurt3D.instance.startAutoUpdate();
    }
    }
    }

    Категория: Остальное | Просмотров: 3450 | Добавил: Хоббитс (15.10.2012) | Рейтинг: 5.0/1
    HTML ссылка на материал:
    BB ссылка на материал:
    Похожие материалы :
    Возможно вам будет интересно:
    PHP - Базовые понятия (0)
    Звуки и музыка (0)
    Создаем танчики (0)
    Как сделать ходячий объект в Game maker. Для обсолютных нубов. (0)
    Blitz 3D - полезная дипломная работа (часть 2) (0)
    Работа с файлами. Открытие файла и чтение из него (0)
    Самообучение ИИ (1)
    Начинаем изучать PHP (4)
    startDrag или как заставить объект двигаться за мышью? (0)
    Моя первая страница на PHP (0)
    Создаем искусственный интеллект (1)
    Сохранение и чекпоинты (0)
    Знакомство с Движком! (0)
    3d Rad - Про конструктор (0)
    Устанавливаем на машину скин 3dRad (0)
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Поиск
    Поиск по всему сайту:
    Поиск по разделу:

    Панель пользователя
    Здравствуйте, Гость


    Ник:
    Пароль:
    Запомнить :

    Ваш IP: 18.119.133.228

    Случайные конструкторы

    Случайные движки

    Случайные статьи

    Статистика
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    На сайте были:

    При полном или частичном копировании материалов сайта ссылка на Make-Games.ru обязательна. Make-Games.ru © 2008 - 2024 Хостинг от uCoz
    Топ Разработка игр