Search in sources :

Example 1 with LoaderAWD

use of org.rajawali3d.loader.LoaderAWD in project Rajawali by Rajawali.

the class RajawaliVRExampleRenderer method initScene.

@Override
public void initScene() {
    DirectionalLight light = new DirectionalLight(0.2f, -1f, 0f);
    light.setPower(.7f);
    getCurrentScene().addLight(light);
    light = new DirectionalLight(0.2f, 1f, 0f);
    light.setPower(1f);
    getCurrentScene().addLight(light);
    getCurrentCamera().setFarPlane(1000);
    getCurrentScene().setBackgroundColor(0xdddddd);
    createTerrain();
    try {
        getCurrentScene().setSkybox(R.drawable.posx, R.drawable.negx, R.drawable.posy, R.drawable.negy, R.drawable.posz, R.drawable.negz);
        LoaderAWD loader = new LoaderAWD(getContext().getResources(), getTextureManager(), R.raw.space_cruiser);
        loader.parse();
        Material cruiserMaterial = new Material();
        cruiserMaterial.setDiffuseMethod(new DiffuseMethod.Lambert());
        cruiserMaterial.setColorInfluence(0);
        cruiserMaterial.enableLighting(true);
        cruiserMaterial.addTexture(new Texture("spaceCruiserTex", R.drawable.space_cruiser_4_color_1));
        Object3D spaceCruiser = loader.getParsedObject();
        spaceCruiser.setMaterial(cruiserMaterial);
        spaceCruiser.setZ(-6);
        spaceCruiser.setY(1);
        getCurrentScene().addChild(spaceCruiser);
        spaceCruiser = spaceCruiser.clone(true);
        spaceCruiser.setZ(-12);
        spaceCruiser.setY(-3);
        spaceCruiser.setRotY(180);
        getCurrentScene().addChild(spaceCruiser);
        loader = new LoaderAWD(getContext().getResources(), getTextureManager(), R.raw.dark_fighter);
        loader.parse();
        Material darkFighterMaterial = new Material();
        darkFighterMaterial.setDiffuseMethod(new DiffuseMethod.Lambert());
        darkFighterMaterial.setColorInfluence(0);
        darkFighterMaterial.enableLighting(true);
        darkFighterMaterial.addTexture(new Texture("darkFighterTex", R.drawable.dark_fighter_6_color));
        Object3D darkFighter = loader.getParsedObject();
        darkFighter.setMaterial(darkFighterMaterial);
        darkFighter.setZ(-6);
        getCurrentScene().addChild(darkFighter);
        CatmullRomCurve3D path = new CatmullRomCurve3D();
        path.addPoint(new Vector3(0, -5, -10));
        path.addPoint(new Vector3(10, -5, 0));
        path.addPoint(new Vector3(0, -4, 8));
        path.addPoint(new Vector3(-16, -6, 0));
        path.isClosedCurve(true);
        SplineTranslateAnimation3D anim = new SplineTranslateAnimation3D(path);
        anim.setDurationMilliseconds(44000);
        anim.setRepeatMode(RepeatMode.INFINITE);
        // -- orient to path
        anim.setOrientToPath(true);
        anim.setTransformable3D(darkFighter);
        getCurrentScene().registerAnimation(anim);
        anim.play();
        loader = new LoaderAWD(getContext().getResources(), getTextureManager(), R.raw.capital);
        loader.parse();
        Material capitalMaterial = new Material();
        capitalMaterial.setDiffuseMethod(new DiffuseMethod.Lambert());
        capitalMaterial.setColorInfluence(0);
        capitalMaterial.enableLighting(true);
        capitalMaterial.addTexture(new Texture("capitalTex", R.drawable.hullw));
        capitalMaterial.addTexture(new NormalMapTexture("capitalNormTex", R.drawable.hulln));
        capital = loader.getParsedObject();
        capital.setMaterial(capitalMaterial);
        capital.setScale(18);
        getCurrentScene().addChild(capital);
        path = new CatmullRomCurve3D();
        path.addPoint(new Vector3(0, 13, 34));
        path.addPoint(new Vector3(34, 13, 0));
        path.addPoint(new Vector3(0, 13, -34));
        path.addPoint(new Vector3(-34, 13, 0));
        path.isClosedCurve(true);
        anim = new SplineTranslateAnimation3D(path);
        anim.setDurationMilliseconds(60000);
        anim.setRepeatMode(RepeatMode.INFINITE);
        anim.setOrientToPath(true);
        anim.setTransformable3D(capital);
        getCurrentScene().registerAnimation(anim);
        anim.play();
    } catch (Exception e) {
        e.printStackTrace();
    }
    lookatSphere = new Sphere(1, 12, 12);
    Material sphereMaterial = new Material();
    sphereMaterial.setDiffuseMethod(new DiffuseMethod.Lambert());
    sphereMaterial.enableLighting(true);
    lookatSphere.setMaterial(sphereMaterial);
    lookatSphere.setColor(Color.YELLOW);
    lookatSphere.setPosition(0, 0, -6);
    getCurrentScene().addChild(lookatSphere);
    initAudio();
}
Also used : LoaderAWD(org.rajawali3d.loader.LoaderAWD) Material(org.rajawali3d.materials.Material) Vector3(org.rajawali3d.math.vector.Vector3) NormalMapTexture(org.rajawali3d.materials.textures.NormalMapTexture) Texture(org.rajawali3d.materials.textures.Texture) NormalMapTexture(org.rajawali3d.materials.textures.NormalMapTexture) SplineTranslateAnimation3D(org.rajawali3d.animation.SplineTranslateAnimation3D) TextureException(org.rajawali3d.materials.textures.ATexture.TextureException) Object3D(org.rajawali3d.Object3D) Sphere(org.rajawali3d.primitives.Sphere) CatmullRomCurve3D(org.rajawali3d.curves.CatmullRomCurve3D) DirectionalLight(org.rajawali3d.lights.DirectionalLight) DiffuseMethod(org.rajawali3d.materials.methods.DiffuseMethod)

Aggregations

Object3D (org.rajawali3d.Object3D)1 SplineTranslateAnimation3D (org.rajawali3d.animation.SplineTranslateAnimation3D)1 CatmullRomCurve3D (org.rajawali3d.curves.CatmullRomCurve3D)1 DirectionalLight (org.rajawali3d.lights.DirectionalLight)1 LoaderAWD (org.rajawali3d.loader.LoaderAWD)1 Material (org.rajawali3d.materials.Material)1 DiffuseMethod (org.rajawali3d.materials.methods.DiffuseMethod)1 TextureException (org.rajawali3d.materials.textures.ATexture.TextureException)1 NormalMapTexture (org.rajawali3d.materials.textures.NormalMapTexture)1 Texture (org.rajawali3d.materials.textures.Texture)1 Vector3 (org.rajawali3d.math.vector.Vector3)1 Sphere (org.rajawali3d.primitives.Sphere)1