Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow camera overide in opts #45

Open
christopherdebeer opened this issue Feb 18, 2013 · 5 comments
Open

Allow camera overide in opts #45

christopherdebeer opened this issue Feb 18, 2013 · 5 comments

Comments

@christopherdebeer
Copy link

I've been trying to get the voxel-engine to accept a custom camera (ie: OrthographicCamera )
and it would seem that the Game prototype needs something like this:

this.camera = this.createCamera( opts.camera || false )

and createCamera needs changing like so:

Game.prototype.createCamera = function( customCamera ) {
  camera = customCamera || new THREE.PerspectiveCamera(60, this.width / this.height, 1, 10000)
  camera.lookAt(new THREE.Vector3(0, 0, 0))
  this.scene.add(camera)
  return camera
}

Does this seem like a good idea, or am I being stupid? If not then pull request to follow.

@snagy
Copy link

snagy commented Feb 18, 2013

It seems like a good idea to me.

I've out a bunch of the camera & renderer stuff into a separate package instead of leaving them in voxel-engine, so it could be easier to add custom camera functionality and special rendering behavior.

I put that in https://github.com/snagy/voxel-view though it's not really anything interesting yet.

I'll probably add support for multiple views to voxel-engine and then put in a pull request.

@snagy
Copy link

snagy commented Feb 18, 2013

Ok, maybe I'm not going to add support for multiple views quite yet, because using one scene with multiple renderers doesn't work with three.js. Each canvas is a separate ogl context and thus any opengl resources can't be shared between them.

Anyway, I still like voxel-view just to pull that functionality out of the engine into a separate package. Let me know what you think.

@chrisdickinson
Copy link
Contributor

i'm actually working on a voxel-view as well, but the idea is that it makes the camera a physical object in the game world that can be attached to other objects via mount points (basically, an Object3D target, a springiness, and an offset vector).

@chrisdickinson
Copy link
Contributor

for reference, the repo is here.

@snagy
Copy link

snagy commented Feb 19, 2013

It looks like your repo is addressing different things than mine, and they can function together right out of the box. Mine is just separating the camera/renderer interaction from the engine, and yours is adding specific behavior to the camera. You could grab the camera from the view and put it straight into the physical camera and it would work the same as getting it from the engine. (related question: would we prefer to pass a camera into a view, or to have other modules get a camera from the view? pass-in seems preferable to me)

Mine could hopefully make it easy to add something like an editor view with multiple viewpoints/cameras by making a new voxel-view replacement and passing that to the engine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants