List of usage examples for com.badlogic.gdx.graphics.g3d.utils CameraInputController CameraInputController
public CameraInputController(final Camera camera)
From source file:com.badlogic.gdx.tests.BulletTestCollection.java
License:Apache License
@Override public void create() { if (app == null) { app = Gdx.app;/* www. j a v a2 s . com*/ tests[testIndex].create(); } cameraController = new CameraInputController(tests[testIndex].camera); cameraController.activateKey = Keys.CONTROL_LEFT; cameraController.autoUpdate = false; cameraController.forwardTarget = false; cameraController.translateTarget = false; Gdx.input.setInputProcessor(new InputMultiplexer(cameraController, this, new GestureDetector(this))); font = new BitmapFont(Gdx.files.internal("data/arial-15.fnt"), false); hud = new Stage(); hud.addActor(fpsLabel = new Label(" ", new Label.LabelStyle(font, Color.WHITE))); fpsLabel.setPosition(0, 0); hud.addActor(titleLabel = new Label(tests[testIndex].getClass().getSimpleName(), new Label.LabelStyle(font, Color.WHITE))); titleLabel.setY(hud.getHeight() - titleLabel.getHeight()); hud.addActor(instructLabel = new Label("A\nB\nC\nD\nE\nF", new Label.LabelStyle(font, Color.WHITE))); instructLabel.setY(titleLabel.getY() - instructLabel.getHeight()); instructLabel.setAlignment(Align.top | Align.left); instructLabel.setText(tests[testIndex].instructions); }
From source file:com.badlogic.gdx.tests.dragome.examples.bullet.BulletTestCollection.java
@Override public void create() { if (app == null) { app = Gdx.app;/*from w w w . j ava2s . co m*/ tests[testIndex].create(); } cameraController = new CameraInputController(tests[testIndex].camera); cameraController.activateKey = Keys.CONTROL_LEFT; cameraController.autoUpdate = false; cameraController.forwardTarget = false; cameraController.translateTarget = false; Gdx.input.setInputProcessor(new InputMultiplexer(cameraController, this, new GestureDetector(this))); font = new BitmapFont(false); hud = new Stage(); hud.addActor(fpsLabel = new Label(" ", new Label.LabelStyle(font, Color.WHITE))); fpsLabel.setPosition(0, 0); hud.addActor(titleLabel = new Label(tests[testIndex].getClass().getSimpleName(), new Label.LabelStyle(font, Color.WHITE))); titleLabel.setY(hud.getHeight() - titleLabel.getHeight()); hud.addActor(instructLabel = new Label("A\nB\nC\nD\nE\nF", new Label.LabelStyle(font, Color.WHITE))); instructLabel.setY(titleLabel.getY() - instructLabel.getHeight()); instructLabel.setAlignment(Align.top | Align.left); instructLabel.setText(tests[testIndex].instructions); }
From source file:com.badlogic.gdx.tests.dragome.examples.GearsDemo.java
@Override public void create() { environment = new Environment(); environment.set(new ColorAttribute(ColorAttribute.AmbientLight, .2f, .2f, .2f, 2f)); // environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, 0f, -0.5f, -0.5f)); sl = new PointLight().setPosition(-5, 10, -6).setColor(1, 1, 1, 1).setIntensity(150); // sl2 = new PointLight().setPosition(0, 7, 5).setColor(0.3f, 0.8f, 0.3f, 1) // .setIntensity(20); ////from w ww . j a va 2s . c o m // sl3 = new PointLight().setPosition(0, 9, 6).setColor(0.3f, 0.3f, 0.8f, 1) // .setIntensity(20); environment.add(sl); // environment.add(sl2); // environment.add(sl3); cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); cam.position.set(-10, 3, 10f); cam.lookAt(-3, 0, 0); cam.near = 1f; cam.far = 100f; cam.update(); cameraController = new CameraInputController(cam); cameraController.autoUpdate = false; cameraController.forwardTarget = false; cameraController.translateTarget = false; Gdx.input.setInputProcessor(new InputMultiplexer(cameraController)); time = TimeUtils.millis(); viewport = new ScreenViewport(cam); guiViewport = new ScreenViewport(); DefaultShaderProvider defaultShaderProvider = new DefaultShaderProvider(); modelBatch = new ModelBatch(defaultShaderProvider); ModelBuilder modelBuilder = new ModelBuilder(); model1 = gear(modelBuilder, 1.0f, 4.0f, 1.0f, 20, 0.7f, Color.RED); gear1 = new ModelInstance(model1); model2 = gear(modelBuilder, 0.5f, 2.0f, 2.0f, 10, 0.7f, Color.GREEN); gear2 = new ModelInstance(model2); model3 = gear(modelBuilder, 1.3f, 2.0f, 1.5f, 10, 0.7f, Color.BLUE); gear3 = new ModelInstance(model3); font = new BitmapFont(); batch = new SpriteBatch(); lightModel = modelBuilder.createSphere(1, 1, 1, 10, 10, new Material(ColorAttribute.createDiffuse(1, 1, 1, 1)), Usage.Position); lightModel.nodes.get(0).parts.get(0).setRenderable(pLight = new Renderable()); }
From source file:com.github.fauu.helix.game.Game.java
License:Open Source License
@Override public void create() { camera = new Camera(new Vector3(32, 32, 0)); cameraInputController = new CameraInputController(camera); // Gdx.input.setInputProcessor(cameraInputController); assets = new AssetManager(); assets.setLoader(GeometrySet.class, new GeometrySetLoader(new InternalFileHandleResolver())); assets.setLoader(MapRegion.class, new MapRegionLoader(new InternalFileHandleResolver())); assets.load("assets/mapregions/0.hmr", MapRegion.class); assets.finishLoading();// w w w. j av a 2 s. c o m mapRegion = assets.get("assets/mapregions/0.hmr", MapRegion.class); spriteBatch = new SpriteBatch(); renderer = new Renderer(); player = new Player(new Vector2(8, 17), new Texture(Gdx.files.internal("assets/sprites/player.png"))); camera.move(player.getRealPosition()); final ModelBuilder modelBuilder = new ModelBuilder(); waterTexture = new Texture("assets/textures/water.png"); final MeshPartBuilder.VertexInfo corner00 = new MeshPartBuilder.VertexInfo(); corner00.hasPosition = true; corner00.hasNormal = true; corner00.hasUV = true; corner00.setPos(0, 0, 0); corner00.setNor(0, 1, 0); corner00.setUV(0, 0); final MeshPartBuilder.VertexInfo corner10 = new MeshPartBuilder.VertexInfo(); corner10.hasPosition = true; corner10.hasNormal = true; corner10.hasUV = true; corner10.setPos(4, 0, 0); corner10.setNor(0, 1, 0); corner10.setUV(0, 1); final MeshPartBuilder.VertexInfo corner11 = new MeshPartBuilder.VertexInfo(); corner11.hasPosition = true; corner11.hasNormal = true; corner11.hasUV = true; corner11.setPos(4, 0, 14); corner11.setNor(0, 1, 0); corner11.setUV(1, 1); final MeshPartBuilder.VertexInfo corner01 = new MeshPartBuilder.VertexInfo(); corner01.hasPosition = true; corner01.hasNormal = true; corner01.hasUV = true; corner01.setPos(0, 0, 14); corner01.setNor(0, 1, 0); corner01.setUV(1, 0); modelBuilder.begin(); modelBuilder.node(); MeshPartBuilder meshPartBuilder = modelBuilder.part("water1", GL20.GL_TRIANGLES, VertexAttributes.Usage.Position | VertexAttributes.Usage.TextureCoordinates, new Material(TextureAttribute.createDiffuse(waterTexture), ColorAttribute.createDiffuse(Color.WHITE), new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA))); meshPartBuilder.rect(corner00, corner10, corner11, corner01); waterModel = modelBuilder.end(); waterModelInstance = new ModelInstance(waterModel); WaterData waterData = new WaterData(); waterData.waveAmplitude = 0.02f; waterData.waveAngle = 0; waterData.waveFrequency = 0.5f; waterModelInstance.userData = waterData; // waterModelInstance.userData = new float[2]; // ((float[]) waterModelInstance.userData)[0] = 0; // waveAngle // ((float[]) waterModelInstance.userData)[1] = 0.1f; // waveAmplitude waterModelInstance.transform.translate(8, -0.1f, 19).rotate(0, 1, 0, -90).scale(1, 1, -1); // ((float[]) waterModelInstance.userData)[2] = 8; // startX // ((float[]) waterModelInstance.userData)[3] = 7; // sizeX // ((float[]) waterModelInstance.userData)[4] = 19; // startZ // ((float[]) waterModelInstance.userData)[5] = 5; // sizeZ }
From source file:exodus.Sosaria.java
@Override public void create() { Exodus ult = new Exodus(); ult.create();/*w ww. jav a2 s.com*/ batch = new SpriteBatch(); modelBatch = new ModelBatch(); FileHandleResolver resolver = new Constants.ClasspathResolver(); assets = new AssetManager(resolver); assets.load("assets/graphics/dirt.png", Texture.class); assets.load("assets/graphics/Stone_Masonry.jpg", Texture.class); assets.load("assets/graphics/door.png", Texture.class); assets.load("assets/graphics/mortar.png", Texture.class); assets.load("assets/graphics/rock.png", Texture.class); assets.load("assets/graphics/grass.png", Texture.class); assets.update(2000); environment = new Environment(); environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.5f, 0.5f, 0.5f, 1f)); camera = new PerspectiveCamera(67, Exodus.MAP_WIDTH, Exodus.MAP_HEIGHT); camera.near = 0.1f; camera.far = 1000f; Vector3 camPos = new Vector3(32, 6, 32); camera.position.set(camPos); camera.lookAt(camPos.x + 1, camPos.y, camPos.z); inputController = new CameraInputController(camera); inputController.rotateLeftKey = inputController.rotateRightKey = inputController.forwardKey = inputController.backwardKey = 0; inputController.translateUnits = 30f; Gdx.input.setInputProcessor(inputController); try { BaseMap map = Constants.Maps.AMBROSIA.getMap(); for (int y = 0; y < map.getHeight(); y++) { for (int x = 0; x < map.getWidth(); x++) { Tile tile = map.getTile(x, y); ModelInstance instance = null; if (tile.getName().equals("mountains")) { instance = createPolygonBox(Color.DARK_GRAY, 1, 2, 1, 0, x, 0, y); } else if (tile.getName().equals("hills")) { instance = createPolygonBox(Color.GRAY, 1, 1, 1, 0, x, 0, y); } else if (tile.getName().equals("grass")) { instance = createPolygonBox(Color.GREEN, 1, 1, 1, 0, x, 0, y); } else if (tile.getName().equals("water")) { instance = createPolygonBox(Color.BLUE, 1, 1, 1, 0, x, 0, y); } else if (tile.getName().equals("sea")) { instance = createPolygonBox(Color.NAVY, 1, 1, 1, 0, x, 0, y); } else if (tile.getName().equals("shallows")) { instance = createPolygonBox(Color.SKY, 1, 1, 1, 0, x, 0, y); } else { instance = createPolygonBox(Color.YELLOW, 1, 1, 1, 0, x, 0, y); } this.modelInstances.add(instance); } } } catch (Exception e) { e.printStackTrace(); } }
From source file:scene3d.demo.Scene3dDemo.java
License:Apache License
@Override public void create() { //2d stuff/*from w ww . j av a 2s .c om*/ stage2d = new Stage(); skin = new Skin(Gdx.files.internal("skin/uiskin.json")); fpsLabel = new Label("ff", skin); fpsLabel.setPosition(Gdx.graphics.getWidth() - 260, Gdx.graphics.getHeight() - 40); visibleLabel = new Label("ff", skin); visibleLabel.setPosition(Gdx.graphics.getWidth() - 260, Gdx.graphics.getHeight() - 60); positionLabel = new Label("Position", skin); positionLabel.setPosition(Gdx.graphics.getWidth() - 260, Gdx.graphics.getHeight() - 80); rotationLabel = new Label("Rotation", skin); rotationLabel.setPosition(Gdx.graphics.getWidth() - 260, Gdx.graphics.getHeight() - 100); positionCameraLabel = new Label("Position", skin); positionCameraLabel.setPosition(20, Gdx.graphics.getHeight() - 40); rotationCameraLabel = new Label("Rotation", skin); rotationCameraLabel.setPosition(20, Gdx.graphics.getHeight() - 60); stage2d.addActor(fpsLabel); stage2d.addActor(visibleLabel); stage2d.addActor(positionLabel); stage2d.addActor(rotationLabel); stage2d.addActor(positionCameraLabel); stage2d.addActor(rotationCameraLabel); stage2d.addListener(new InputListener() { @Override public boolean keyUp(InputEvent event, int keycode) { if (keycode == Keys.LEFT) leftKey = false; if (keycode == Keys.RIGHT) rightKey = false; if (keycode == Keys.UP) upKey = false; if (keycode == Keys.DOWN) downKey = false; if (keycode == Keys.SPACE) spaceKey = false; return super.keyUp(event, keycode); } @Override public boolean keyDown(InputEvent event, int keycode) { if (keycode == Keys.LEFT) leftKey = true; if (keycode == Keys.RIGHT) rightKey = true; if (keycode == Keys.UP) upKey = true; if (keycode == Keys.DOWN) downKey = true; if (keycode == Keys.SPACE) spaceKey = true; return super.keyDown(event, keycode); } }); //3dstuff stage3d = new Stage3d(); modelBuilder = new ModelBuilder(); model = modelBuilder.createBox(5f, 5f, 5f, new Material("Color", ColorAttribute.createDiffuse(Color.WHITE)), Usage.Position | Usage.Normal); model2 = modelBuilder.createBox(2f, 2f, 2f, new Material("Color", ColorAttribute.createDiffuse(Color.WHITE)), Usage.Position | Usage.Normal); actor2 = new Actor3d(model2, 10f, 0f, 0f); model3 = modelBuilder.createBox(2f, 2f, 2f, new Material("Color", ColorAttribute.createDiffuse(Color.ORANGE)), Usage.Position | Usage.Normal); actor3 = new Actor3d(model3, -10f, 0f, 0f); actor2.setColor(Color.RED); actor2.setName("actor2"); actor3.setName("actor3"); camController = new CameraInputController(stage3d.getCamera()); InputMultiplexer im = new InputMultiplexer(); im.addProcessor(stage2d);// 2d should get click events first //im.addProcessor(stage3d); im.addProcessor(camController); Gdx.input.setInputProcessor(im); stage3d.touchable = Touchable.enabled; // only then will it detect hit actor3d ModelBuilder builder = new ModelBuilder(); builder.begin(); MeshPartBuilder part = builder.part("floor", GL20.GL_TRIANGLES, Usage.Position | Usage.TextureCoordinates | Usage.Normal, new Material()); for (float x = -200f; x < 200f; x += 10f) { for (float z = -200f; z < 200f; z += 10f) { part.rect(x, 0, z + 10f, x + 10f, 0, z + 10f, x + 10f, 0, z, x, 0, z, 0, 1, 0); } } floor = new Actor3d(builder.end()); AssetManager am = new AssetManager(); am.load("data/g3d/knight.g3db", Model.class); am.load("data/g3d/skydome.g3db", Model.class); am.load("data/g3d/concrete.png", Texture.class); am.finishLoading(); knight = new Actor3d(am.get("data/g3d/knight.g3db", Model.class), 0f, 18f, 0f); knight.getAnimation().inAction = true; knight.getAnimation().animate("Walk", -1, 1f, null, 0.2f); skydome = new Actor3d(am.get("data/g3d/skydome.g3db", Model.class)); floor.materials.get(0).set(TextureAttribute.createDiffuse(am.get("data/g3d/concrete.png", Texture.class))); stage3d.addActor3d(skydome); stage3d.addActor3d(floor); knight.setPitch(-90f); knight.setYaw(-130f); testActor3d(); //stage3d.addAction3d(Actions3d.rotateBy(0f, 90f, 0f, 2f)); //testGroup3d(); //testStage3d(); }
From source file:scratchpad.LoadModelsTest.java
License:Apache License
@Override public void create() { Gdx.app.setLogLevel(LOG_DEBUG);//from w w w .j av a 2s. c o m modelBatch = new ModelBatch(); environment = new Environment(); environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f)); environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f)); cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); cam.position.set(50f, 50f, 50f); cam.lookAt(0, 0, 0); cam.near = 1f; cam.far = 300f; cam.update(); camController = new CameraInputController(cam); Gdx.input.setInputProcessor(camController); assets = new AssetManager(); assets.load(FN, Model.class); loading = true; }
From source file:sink.demo.scene3d.Scene3dDesktop.java
License:Apache License
@Override public void create() { //2d stuff/*from ww w . java2s .com*/ stage2d = new Stage(); skin = new Skin(Gdx.files.internal("skin/uiskin.json")); fpsText = new Label("ff", skin); fpsText.setPosition(Gdx.graphics.getWidth() - 80, Gdx.graphics.getHeight() - 40); stage2d.addActor(fpsText); //3dstuff stage3d = new Stage3d(); modelBuilder = new ModelBuilder(); model = modelBuilder.createBox(5f, 5f, 5f, new Material(ColorAttribute.createDiffuse(Color.WHITE)), Usage.Position | Usage.Normal); r = new Actor3d(model, 9f, 0f, 0f); camController = new CameraInputController(stage3d.getCamera()); Gdx.input.setInputProcessor(camController); testActor3d(); //testGroup3d(); testStage3d(); }