Finished Holiday Demo

This week I finished up the holiday demo. I finished making and placing obstacles, put coins throughout the mountain, and made the trees look slightly more consistent after playing around with the shaders. Some things I added were houses and a giant christmas tree at the end of the hill, jumps and moving obstacles in the candy cane tunnels, a waterfall in the tunnel with the penguins, a castle gate towards the end of the hill, and wooden archways to help guide the user through the mountain. I also populated the rest of the hill with some previously made obstacles to make it more interesting. And I made a simple script to spin a given object, which I used on some hoops in one of the tunnels and the star on the christmas tree at the bottom of the hill.

Here are a few screenshots of the mountain:

001002  003

After finishing the project, I feel like I’ve learned quite a bit from the experience. I walked in knowing nothing about Unity and now I find it to be a very comfortable environment for developing programs. I also got to learn C# and explore how to utilize scripting in video games. And with Unity taking care of a lot of the tedious components of the program, I was able to gain more experience with modeling things in 3ds Max. Overall, I would say I had fun working the project, learned a lot, and have no complaints with the final product.

New computer setup

New machine is much faster, and has plenty of space.  It seems pretty great, all around.

It took a bit to get admin access to get things installed, but that’s sorted now.

Next week I’ll be fixing the code to work from local, and then fixing code to work in general.

Working on Holiday Demo – Global Snow, Medal System, and Moving Penguins

This week I added moving penguins to the hill that walk around and collide with the user and a medal system for when the user collects coins. I also made a light post model, made some christmas lights for the tunnels, and added gumdrops to the candy cane forest. I added some fog to the demo to make the trees rendering in the distance less noticable. After the first jump on the hill, I added another jump with more hoops to jump through. I also got the snow to appear globally now. I just made 3 different particle systems at different vertical coordinates with respect to the user, that way the user cannot ski out of the snow (as easily) when going downhill.

Here are some screenshots:

002 003 001

For next week, I will look at trying to wrap up the project. I will finish adding coins and obstacles throughout the hill and make boundaries to the hill to prevent the user or penguins from wandering off. I might also look into making better house models for the bottom of the hill if I have time.

Code Progress

Fixed it.  I think.  Half fixed it?

It rendered.  Several times.  Buttons do what they’re supposed to.

It still crashes; seemingly always when using a dummy Rift, sometimes when using a real one.  Seems random.  Goes in streaks.  Will look into disabling timewarp — that seems to be what it’s doing when it breaks.

Motion looks strange; I don’t think the distortion-correction shaders are working correctly, chromatic and spherical distortions are very much present.

Otherwise needs some polish.  For instance, after seeing the throwing target in the Rift, I realize I’ll need to work in world instead of view coords.  This means passing in a few more uniforms, or adjusting the origin of the pointcloud scene.

I should probably look into modifying pointcloud scenes, anyway.

 

Code Progress

Updated to the latest Fiona version to fix one bug, maybe caused more.

Pointing the individual projects at the same libraries is getting a bit hackish; this is partly an artifact of compiling across network and local drives. It may be easier to move everything to the network; I haven’t space to keep it all local.

Everything compiles, but now requires a Rift to actually run; I suspect I’ll have a Rift to test on tomorrow.

Also, I’m assuming a square FOV for now.  The Rift’s default is pretty close, but I suspect I’ll need to find a way to force a symmetric viewport (or at least statically sized viewport). That happens somewhere in the code of the 0.4.3 tuscany demo.

Ideally the FOV would be based on the real-world physical size the viewport occupies on the screen.  This is complicated by the Rift choosing a viewport size based on calibration. I’ll test using Oculus SDK defaults until I track down the real numbers.

More Holiday Demo Stuff

This week I placed more coins, improved the quality of particle systems, made the skis turn in the direction of the user’s motion, and created some more models. I made a gingerbread man, a penguin, and a poinsettia model and placed some of each throughout the course. Right now, I’m planning on having the penguins walk around as moving obstacles, but as of now they just spin in place as the terrain has irregular heights and I’m not yet sure how to deal with that. I also added fireworks at the end of the hill to make the bottom of the hill look cooler. I attempted to make the snow globally distributed, but this resulted in the user skiing too fast for the snow to catch up. I’m not sure if it is possible to make the snow global and look realistic given the user’s top speed, but I will continue to investigate.

Here are some screenshots:

001 002

For next week, I will finish adding coins to the hill, work on getting the penguins to walk around, look into the global snow effect, add boundaries to the hill, and maybe make more models. Some models I might make are light posts, christmas lights, candles, and better looking houses at the bottom of the hill. I might also add some spinning hoops to jump through.

Painted Pointclouds

view, negative - clipped

Above is a point cloud view of the dev lab, with the second, third, and fourth unit interval marked out in yellow, cyan, and magenta, respectively.

There’s a good chance the units are meters, which would be convenient.  Needs verification.

I can also paint simple targets.  Code for adjusting IPD is in, but untested; FOV still needs a bit of thought, but not much.

Running into a crash when running in the Rift — the oculusHmd data structure never seems to be initialized. It’s possible I need to pull down new code from git, but I’ll need to juggle things to get some hard drive space first.

 

 

Added Toy Soldiers and Simple Buildings to Holiday Demo

This week I focused on finishing the toy soldiers and adding them to the simulator. I also made some simple building models and textures for the bottom of the hill. I added some large snowmen models near the candy cane tunnels and some particle systems in the candy cane forest.

Here is a screenshot of the toy soldiers:

001

For next week I will look into making the snow globally oriented, having the skis turn in the direction of the user, placing some coins throughout the track now that the terrain is finished, and maybe add some moving obstacles and other models.

Research Paper and Holiday Demo

This week I worked on generating some plots for the research paper. I created some bootstrap confidence intervals for all 7 questions in the survey and also made a scatterplot matrix to potentially show correlations in certain user’s responses. I also worked on adding particle systems and textures to the fireplace in the holiday demo. And I finished adding trees throughout the map.

Here is a screenshot of the changes:

001

For next week I will look into adding some obstacles like snowmen, toy soldiers, and animated obstacles (maybe snowballs or toy trains or something). I am currently in the process of texturing a model for the toy soldiers, so hopefully that will be good to go by next week.

GOTO: Pointclouds

I’ve got the pointcloud renderer compiling locally, but on execution it looks like one of the (many) linked-to libraries was compiled with VS2013 instead of the VS2010 I’m using … I’ll wrestle with it some more next week.

Naveen’s pointed out some suitable test files, and Ross suggests modifying shaders for the “painting” effect; so: thanks guys, that’ll help speed things along.

That leaves:
– getting things to actually run (sorting out dll troubles)
– getting things to show on the oculus
– making sure all the needed sensors are available

Which should probably be done next week.