First Person Cam

Here’s a component I made years ago in 077, thought I’d resurrect it again. This was originally designed for use with a game controller (Playstation2) but I’ve isolated the channels in a constant CHOP here for this example.

The camerapos component does all the work. The input channels are named as to what they actually do and a value of 0 will mean no movement, positive values will move it one way, negative values the other way. Just connect whatever you want to use as an input using the same channel names, your own game controller of any type, WASD keyboard input, Leap Motion, Mouse, etc. Use Math CHOP on your input channels to scale the speed of movement.

The channels output from camerapos are ready to connect to any Camera component.

The Reset button will reset the position based on the resetvalues Table DAT inside the camerapos component.

There are still Lag CHOPs for each individual channel inside, you can modify or optimize based on your needs.
FirstPersonCam.17.toe (7.54 KB)

1 Like

Thank you, Ben! :smiley:

Hi Ben! This works quite well, actually I’m working on a First Person Cam example like yours. I see a problem mostly because I’m working with OCULUS, when you rotate your camera could be in OCULUS or not, it keeps the same direction as before that means that If I you’re rotating to your right the control PAD will still moving in a fixed translation and it dosen’t follow the new direction of the rotation. Does that make any sense to you?.

Best J.

I’m not exactly sure what you mean but, yes, this would be hard to make work with Oculus as the oculus is 1-to-1 rotation. This is designed with a gamepad in mind where there is a certain movement speed and acceleration based on the amount you are inputting into the gamepad.

You might want design something for Oculus using the Matrix Class.

Hi Ben!
Thanx for amazing camera and all the input!

Have a question regarding this cam:
I want to switch cameras according to location, like with “if” condition:
“If location is > 100, change camera to…”
And also move the camera same time or make a new camera according to location and then change to it:
“If location is > 90, make new camero on (other) location”

OR

Just move camera location in space if it will reach some location, with expression?

I’m trying to find the way how to make endlessly repeated landscape like in Nokia Snake 3D.
youtube.com/watch?v=zZnYGimSIlU

Thank you in advance!
Andrey