PDA

Просмотр полной версии : [Away3D] away3d 4 beta SkyBox как?


vector3d
27.06.2012, 00:29
Использую эту библиотеку [away3d-core-fp11_4_0_0_beta.swc]

Пытаюсь в рабочий пример добавить SkyBox

Нашел вот этот код: http://www.jasonsturges.com/2012/03/3d-skybox-primitive-using-away3d-4-and-stage3d/

import away3d.materials.utils.CubeMap; //отсутствует в [away3d-core-fp11_4_0_0_beta.swc] что делать?
import away3d.primitives.SkyBox;
...............
// Embedded assets
[Embed(source = "assets/skybox/posx.jpg")]
private var EnvPosX2:Class;
[Embed(source = "assets/skybox/posy.jpg")]
private var EnvPosY2:Class;
[Embed(source = "assets/skybox/posz.jpg")]
private var EnvPosZ2:Class;
[Embed(source = "assets/skybox/negx.jpg")]
private var EnvNegX2:Class;
[Embed(source = "assets/skybox/negy.jpg")]
private var EnvNegY2:Class;
[Embed(source = "assets/skybox/negz.jpg")]
private var EnvNegZ2:Class;
................


// Materials
private var skyBoxCubeMap:CubeMap; // ошибка в этой столке: Тип не найден или не является константой времени компиляции: CubeMap.

// Primitives etc
private var skyBox:SkyBox;

..................

// Setup a cube map for the skybox to use
skyBoxCubeMap = new CubeMap(
new EnvPosX2().bitmapData, new EnvNegX2().bitmapData,
new EnvPosY2().bitmapData, new EnvNegY2().bitmapData,
new EnvPosZ2().bitmapData, new EnvNegZ2().bitmapData
);
.....................
// Setup the primitive
skyBox = new SkyBox(skyBoxCubeMap);
scene.addChild(skyBox);



Тип не найден или не является константой времени компиляции: CubeMap.

Подскажите решение.

illuzor
27.06.2012, 00:41
Импортируйте его

vector3d
28.06.2012, 03:31
разясните как?

illuzor
29.06.2012, 16:51
Похоже, он в последних версиях перехал в другой пакет.
away3d.primitives.SkyBox;

Тут (http://redefy.net/2012/03/11/away3d4-objects-2/)есть пример кода

vector3d
01.07.2012, 13:15
package {
import away3d.primitives.SkyBox;
import away3d.textures.BitmapCubeTexture;

/**
* Тестируем скайбокс.
* @author redefy
*/
public class TestSkyBox extends BaseTest {
[Embed(source = 'resources/skybox/snow_negative_x.jpg')] public const NEG_X:Class;
[Embed(source = 'resources/skybox/snow_negative_y.jpg')] public const NEG_Y:Class;
[Embed(source = 'resources/skybox/snow_negative_z.jpg')] public const NEG_Z:Class;
[Embed(source = 'resources/skybox/snow_positive_x.jpg')] public const POS_X:Class;
[Embed(source = 'resources/skybox/snow_positive_y.jpg')] public const POS_Y:Class;
[Embed(source = 'resources/skybox/snow_positive_z.jpg')] public const POS_Z:Class;

public function TestSkyBox() {
super();
}

override protected function initObjects():void {
var cubeTexture:BitmapCubeTexture = new BitmapCubeTexture(new POS_X().bitmapData, new NEG_X().bitmapData, new POS_Y().bitmapData,
new NEG_Y().bitmapData, new POS_Z().bitmapData, new NEG_Z().bitmapData);
var skyBox:SkyBox = new SkyBox(cubeTexture);
conteiner.addChild(skyBox);
}
}
}
Работает, но... не могу изменить размер skyBox.

skyBox.scaleX=40;//не работает
skyBox.scaleY=40;//не работает
skyBox.scaleZ=40;//не работает
skyBox.scale(40);// то же нет

Добавлено через 16 минут
http://loveisrus.ru/game3/

Не могу сделать так, что бы зона не ограничивалась так близко.

В чём причина?

redefy
01.07.2012, 14:53
Размеры скайбокса в Away3D4 зависят от размера фрустума камеры...

UN45
19.08.2012, 20:52
redefy, а можно более подробно?