public GVRSceneObject loadNavigator(GVRContext context) { if (cameraModel != null) return cameraModel; try { cameraModel = context.getAssetLoader().loadModel("camera_icon.obj"); } catch (IOException e) { e.printStackTrace(); } attachCollider(context); cameraModel.getTransform().setPosition(position.x, position.y, position.z); return cameraModel; }
model = gvrContext.getAssetLoader().loadModel("sd:/" +filename); gvrContext.getMainScene().addSceneObject(model);
private GVRSceneObject createCharacter(GVRContext context) { try { GVRSceneObject model = context.getAssetLoader().loadModel("astro_boy.dae"); model.getTransform().setScale(10, 10, 10); model.getTransform().setPositionY(-1); return model; } catch (IOException e) { Log.e("multilight", "Failed to load a model: %s", e); return null; } }
private void loadModel(GVRContext context) { try { Log.d(TAG, "Absent so loading" + name); model = context.getAssetLoader().loadModel("sd:" + location); } catch (IOException e) { e.printStackTrace(); Log.e(TAG, "Unable to load model"); return; } GVRSceneObject.BoundingVolume bv = model.getBoundingVolume(); model.attachComponent(new GVRMeshCollider(context, true)); // Adding Pointee to Model bv = model.getBoundingVolume(); float originalRadius = bv.radius; Log.i(TAG, "Radius" + Float.toString(originalRadius)); // TODO Scale Appropriately if (originalRadius > 7.0f || originalRadius < 5.0f) { float scaleFactor = 7 / originalRadius; model.getTransform().setScale(scaleFactor, scaleFactor, scaleFactor); } // Make Copy of Original Render Data saveRenderData(); // Load Animations animation = (GVRAnimator) model.getComponent(GVRAnimator.getComponentType()); }
/** * Loads a 3D model using the asset loaqder and attaches * a collider to it so it can be picked. * If you are using phone AR, the touch screen can * be used to drag, rotate or scale the object. * If you are using a headset, the controller * is used for picking and moving. */ private GVRSceneObject load3dModel(final GVRContext gvrContext) throws IOException { final GVRSceneObject sceneObject = gvrContext.getAssetLoader().loadModel("objects/andy.obj"); sceneObject.attachComponent(new GVRBoxCollider(gvrContext)); sceneObject.getEventReceiver().addListener(mSelector); return sceneObject; }
private GVRSceneObject addStormtrooper(GVRScene scene, float x, float y, float z) throws IOException { GVRSceneObject model = mGVRContext.getAssetLoader().loadModel("storm.obj", scene); model.getTransform().setPosition(x, y, z); model.getTransform().setScale(1.5f, 1.5f, 1.5f); model.getTransform().setRotationByAxis((float) -90, 0, 1, 0); return model; }
void loadAndAddCollider(GVRContext gvrContext, String fname) throws IOException { GVRSceneObject model = gvrContext.getAssetLoader().loadModel(fname, gvrContext.getMainScene()); // This approach works fine for simple objects exported as FBX GVRSceneObject object = model.getChildByIndex(0).getChildByIndex(0); object.attachComponent(new GVRMeshCollider(object.getGVRContext(), true)); }
private void addModeltoScene(String filePath, Vector3f scale, Vector3f position) throws IOException { GVRAssetLoader loader = getGVRContext().getAssetLoader(); GVRSceneObject root = loader.loadModel(filePath,GVRImportSettings.getRecommendedMorphSettings(), false, null); root.getTransform().setScale(scale.x,scale.y,scale.z); root.getTransform().setPosition(position.x, position.y, position.z); mObjectRoot.addChildObject(root); }
private void addModeltoScene(String filePath, float scaleX, float scaleY, float scaleZ, boolean hasSpecularEnv) throws IOException { GVRSceneObject.BoundingVolume bv; GVRAssetLoader loader = mGVRContext.getAssetLoader(); GVRSceneObject root = loader.loadModel(filePath); if(hasSpecularEnv) setEnvironmentTex(root, mEnvTex); root.getTransform().setScale(scaleX,scaleY,scaleZ); bv = root.getBoundingVolume(); root.getTransform().setPosition(-bv.center.x, -bv.center.y, -bv.center.z); mObjectRot.addChildObject(root); }
private void createSkybox() { mGVRContext.getMainScene().getMainCameraRig() .getTransform().setPosition(-0f, Util.applyRatioAt(1.70), 0f); GVRSceneObject mSpaceSceneObject = null; EnumSet<GVRImportSettings> settings = GVRImportSettings.getRecommendedSettings(); try { mSpaceSceneObject = mGVRContext.getAssetLoader().loadModel(new GVRAndroidResource(mGVRContext, R.raw.skybox_esphere), settings, false, mGVRContext.getMainScene()); } catch (IOException e) { e.printStackTrace(); } mGVRContext.getMainScene().addSceneObject(mSpaceSceneObject); List<GVRRenderData> rdatas = mSpaceSceneObject.getAllComponents(GVRRenderData.getComponentType()); GVRRenderData rdata = rdatas.get(0); rdata.setRenderingOrder(0); }
model = gvrContext.getAssetLoader().loadModel(filename, scene);
@Override public void onInit(GVRContext gvrContext) { mGVRContext = gvrContext; mAnimationEngine = gvrContext.getAnimationEngine(); GVRScene mainScene = gvrContext.getMainScene(); try { mCharacter = gvrContext.getAssetLoader().loadModel(mModelPath, mainScene); mCharacter.getTransform().setPosition(0.0f, -10.0f, -10.0f); mCharacter.getTransform().setRotationByAxis(40.0f, 1.0f, 0.0f, 0.0f); mCharacter.getTransform().setScale(1.5f, 1.5f, 1.5f); mAssimpAnimation = (GVRAnimator) mCharacter.getComponent(GVRAnimator.getComponentType()); mAssimpAnimation.setRepeatMode(GVRRepeatMode.REPEATED); mAssimpAnimation.setRepeatCount(-1); } catch (IOException e) { e.printStackTrace(); mActivity.finish(); mActivity = null; Log.e(TAG, "One or more assets could not be loaded."); } mAssimpAnimation.start(); }
@Override public void onInit(GVRContext gvrContext) throws Throwable { GVRScene scene = gvrContext.getMainScene(); audioListener = new GVRAudioManager(gvrContext); r2d2Model = gvrContext.getAssetLoader().loadModel("R2D2/R2D2.dae"); r2d2Model.getTransform().setPosition(distance * (float)Math.sin(time), modelY, distance * (float)Math.cos(time)); scene.addSceneObject(r2d2Model); final GVRAudioSource audioSource = new GVRAudioSource(gvrContext); audioListener.addSource(audioSource); r2d2Model.attachComponent(audioSource); // add a floor final GVRTexture texture = gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.floor)); GVRSceneObject floor = new GVRSceneObject(gvrContext, 120.0f, 120.0f, texture); floor.getTransform().setRotationByAxis(-90, 1, 0, 0); floor.getTransform().setPositionY(-1.5f); floor.getRenderData().setRenderingOrder(0); scene.addSceneObject(floor); // Avoid any delays during start-up due to decoding of sound files. Threads.spawn( new Runnable() { public void run() { audioSource.load(SOUND_FILE); audioSource.play(true); audioListener.setEnable(true); } }); }
private GVRScene createRenderToTextureScene() { final GVRScene newScene = new GVRScene(getGVRContext()); final GVRPerspectiveCamera centerCamera = newScene.getMainCameraRig().getCenterCamera(); centerCamera.setBackgroundColor(0.7f, 0.4f, 0, 1); try { final GVRSceneObject model = getGVRContext().getAssetLoader().loadModel("astro_boy.dae", newScene); model.getTransform() .setRotationByAxis(45.0f, 0.0f, 1.0f, 0.0f) .setScale(2, 2, 2) .setPosition(0.0f, -0.15f, -0.3f); GVRAnimator animations = (GVRAnimator) model.getComponent(GVRAnimator.getComponentType()); if (animations != null) { animations.setRepeatMode(GVRRepeatMode.REPEATED); animations.setRepeatCount(-1); animations.start(); } } catch (final IOException e) { Log.e(TAG, "Failed to load a model: %s", e); getGVRContext().getActivity().finish(); } return newScene; }
@Override public void onInit(final GVRContext gvrContext) throws Throwable { super.onInit(gvrContext); final GVRScene scene = gvrContext.getMainScene(); scene.setBackgroundColor(0,0,0,0); Log.d(TAG, "Loading Rag Doll mesh..."); GVRSceneObject model = gvrContext.getAssetLoader().loadModel("models/ragdoll.fbx", scene); model.getTransform().setPosition(0,0, -3); scene.addSceneObject(model); mWorld = new GVRWorld(gvrContext); mWorld.setGravity(0f, -1f, 0f); scene.getRoot().attachComponent(mWorld); Log.d(TAG, "Loading Rag Doll physics..."); GVRPhysicsLoader.loadPhysicsFile(gvrContext, "models/ragdoll.bullet", true, scene); initCursorController(gvrContext); }
try boardFrame = ctx.getAssetLoader().loadModel("mirror.3ds"); GVRSceneObject.BoundingVolume bv = boardFrame.getBoundingVolume(); GVRTransform trans = boardFrame.getTransform();
environment = mContext.getAssetLoader().loadModel("environment/environment_test_2.fbx", mScene); environment.getTransform().rotateByAxis(180, 1, 0, 0); environment.getTransform().setScale(2, 2, 2);