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

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

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

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

Форум:


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

Мини-Опрос
Какой платформой Вы пользуетесь?
Всего ответов: 1025

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

 Главная » Статьи » Игровые движки » Остальное » Установка 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();
    }
    }
    }

    Категория: Остальное | Просмотров: 3425 | Добавил: Хоббитс (15.10.2012) | Рейтинг: 5.0/1
    HTML ссылка на материал:
    BB ссылка на материал:
    Похожие материалы :
    Возможно вам будет интересно:
    Обмен информацией по TCP/IP-протоколу (Delphi) (0)
    Создание и редактирование объектов в Blitz3D (0)
    Borland Assembler (BASM) уроки для начинающих (урок 7 часть 1) (0)
    Учебник по Blitz 3D (0)
    Создание 3D игр на Game Maker (3)
    Game Maker. Начало (3)
    Исключения в C++ (0)
    3D Rad - небольшая статья. (2)
    Устанавливаем на машину скин 3dRad (0)
    30 советов по программированию в Delphi (Дельфи) часть 1 (0)
    Borland Assembler (BASM) уроки для начинающих (уроки 1-4) (0)
    Пингуем (Ping) под Delphi (1)
    Организация 3Д камеры в Game Maker (0)
    Про HTML (1)
    Полный туториал по использованию Radimp (2)
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Поиск
    Поиск по всему сайту:
    Поиск по разделу:

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


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

    Ваш IP: 34.230.66.177

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

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

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

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

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

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