LRHS Projection Mapping – Animation Experiments

I animate and render what the projector will playback and then project that animation back on the facade model, that has a similar texture to the real building, to simulate what it will look like on site.

The first animation has three statues moving their arms. After starting the rendering process I went for a walk (for those new to the blog that’s what the name means render + walk because you can’t do much else on the computer while rendering). It occurred to me that when this is projected onto the building, the statue arms will be quite a distance from the actual statue due to the facade’s depth. This isn’t much of an issue when looking at the building from front-center especially near the projector, but off-axis I felt like it may suck.

So I rendered a view off-axis to check.

I didn’t like it for two reasons. One, my original hypothesis was correct and the arms are pretty far away. This is an issue for about a third of the crowd thanks to the trees that force the audience towards the center of the viewing area, but I still don’t like it. The other reason is that any illumination on the actual statues makes them stand out as statues so I feel like we won’t be able to really remove them like I hoped. The side view does look cool even without illumination on the sides of the pillars and arches. It’s possible to project onto them too, but beyond this project’s budget.

So I created a new animation. This is better in terms of making it so the statues are seen when I want them to be seen. However, there is a moment when I have the statue “niches” rise up behind them, but it’s too late, they can already be seen. The lesson is that as parts of the building are highlighted or animated they need a strong silhouette – subtlety will be lost as soon as there is any light on them.

I’ve left the exterior lanterns, doors, and windows their natural color, which is dark, on the projection model for now. It is our goal to cover those with a material that reflects light better.

Here’s a fun experiment… A little bit of depth shading on a blueprint.

blueprint

Geek stuff warning

When I was preparing the model to simulate the projection on the building I found that some of the proportions of the statues were off by too much to let go. Thanks to some new photos I took of the building I had more modeling work to do to get it right. I had to spend some time moving parts of the statues around until they properly aligned with the real statues. I also tweaked the building, windows, and doors a little. Was a one step forward, two steps back moment, but it looks a lot better now and I have a lot more confidence in the projection.

The animations above were 750 frames each. Rendering them and then rendering the projection simulation was 4500 frames. Plus some re-rendering sections after deciding to make some tweaks. I use two computers to render. One is a Retina iMac and the other is a custom-built Linux/Windows PC. The iMac renders using its CPU (4 CPU cores/8 hyperthreaded cores) and the PC renders using two Nvidia GPUs. In some cases the PC can render four or more frames for every one the iMac can render because the GPU acceleration is so great.

Unfortunately/fortunately the Blender Cycles developers have been working hard on the GPU acceleration including, BTW, developers at AMD working on making it so Cycles is not limited to Nvidia GPUs. I say unfortunately because on one of the animations I found the PC Cycles render was crashing every 40 frames or so. It’s a sad morning when you see that the faster computer hadn’t been rendering for the last 6+ hours…

I don’t have time to troubleshoot the issue. It’s a mix of Blender/Cycles and Nvidia software and it’s not that bad in the grand scheme of things. To deal with it I decided to dust off a python script I wrote several years ago for a compute cluster we had at UCA. It created a job script for the distributed computing software. I was able to simplify it quite a bit and have it spit out a shell script (like a batch file for you Windows weirdos) that I could run so that Blender would render each frame as a new job rather than one job rendering all of the frames. Essentially it changes this one line that I manually type in a terminal:

blender -b blendfile.blend -a
(this tells blender to start without a UI to save resources and then render the animation based on the project’s settings)

To this listed in a shell script that I start by typing render.sh:

blender -b blendfile.blend -f 1
(render frame 1 based on the project’s settings and then close Blender)
blender -b blendfile.blend -f 2 (then render frame 2)
blender -b blendfile.blend -f 3 (then render frame 3)

Works like a charm. I could make the python script do a lot more tricks, but for now this is nice.

Last, Blender has a simple method of allowing multiple computers to render the same animation without using a render management application. Set the output to not overwrite and to make placeholders. A computer will look for frame 1 in the folder where the rendered images are saved (the output folder) and if it sees it then it will look for frame 2, etc. When it finds a frame that hasn’t been rendered it will create placeholder image, render, and replace the placeholder with the finished image. Each computer can claim a frame as they go, which is nice since one computer renders so much faster than the other. After Effects works this way too if you use multiple computers to render.

Since I’m not using a management system there is no check to make sure a frame actually gets rendered properly so I also wrote a python script back in the day that looks for frames with zero bytes to tell me if there were some bad frames. I might automate that with my other script, but I don’t want to dedicate the time to that right now. The macOS Finder does a nice job of listing “zero bytes,” which stands out in a list, or listing by size, so I’ve manually deleted bad frames too. To render those bad ones after deleting I just run the first command with the “-a” to find missing frames and render.

Ergonomics

I’ve been interested in ergonomics for many years. In the early 1990s I assisted a videographer who documented inventions in manufacturing and farming environments that helped workers deal with heavy and/or complicated machinery. In the early 2000s there was a push at Purdue to create an environment for faculty and staff to work more comfortably and safely. I had friends with sore wrists and numb fingers after a few years of working on computers upwards of 12 hours a day. My story was more about excessive weight gain due to being so sedentary as a graphics professor and professional – especially living in a place with very long and cold winters. I am also into computer gadgetry – especially input devices, so I am always on the lookout for doing things differently (hopefully better).

In at least the last 13 years I have adhered to some basics regarding computer ergos:

  • Adjustable chair – height so knees are lower than hips, back upright, elbow support, elbows are 90 degrees to the desktop, thighs are not pinched by the front of seat cushion (often requires a chair that has a forward tilting seat)
  • Desktop height – 27″-29″ (I’m a shade over 5’10”) – a standard kitchen table, pre-digital era desk, or other general table is 30″, which is fine for writing, but is horrible for keyboard/mouse use.
  • High monitor height and distance – top of screen level with eyes at least and an arm’s length away. This is often a problem because monitor manufacturers put short stands on their screens and notebook computers are low to the desk.
  • Keyboard, mouse, and tablet arrangement that feels natural for the work (graphics or typing)

In the last two years I have removed the chair for at least 90% of the work I do on a computer. After reading many articles about standing desks for nearly a year I finally attempted it at home during the summer of 2012 using a small platform I built to sit on top of the desk I had built from scratch the year before. It immediately felt comfortable, but I decided to give it some time. After 6 weeks it was obvious to me that I would never go back to sitting for hours on end. I built a desk for my office at work at the end of the summer and the following spring I extended my home desk (its supports are steel so pretty easy) so it was standing height.

Over the years I have had a few different graphics tablets, mice, monitor setups, chairs, keyboards, and desks, but my current setup is:

  • Standing desks at home and faculty office
  • Wacom tablets at home and “Bat Cave” at work
  • Apple full-sized keyboard and wired Apple mouse (at all computers at work and home)
  • Recently purchased Apple bluetooth trackpad for home Mac Pro

Why should you care about general body/workspace ergos?

  1. Bad posture and pinching seat leads to poor blood flow throughout your body
  2. Sitting too long leads to stiffening of muscles and joints that have not been under a load or moved in some time
  3. Having your head too close or too far away from a monitor screen leads to eye strain
  4. As your body responds to being sedentary you may feel distracted and/or fatigued

What to do?

  • For eye strain, my favorite is 20/20/20: every 20 minutes focus on something 20′ away for at least 20 seconds
  • 20/20/20 may force you to get up and get out of your office – great opportunity to stretch the legs and allow for more normal blood flow
  • If it doesn’t (you can look out an exterior window perhaps) – get up and walk around for a few minutes every 40 minutes or so. Go to the restroom, check the snail mail, do something that gets your body moving
  • Consider a standing desk…

Standing desk issues to consider:

  • You may have physical issues that keep you from standing for long periods
  • Standing really means moving – you move around a lot while standing at a desk. Shifting weight from foot to foot, pacing while working out a problem, stretching, etc. You aren’t really standing still for hours and don’t try to.
  • In a perfect world you stand and sit, but having a workspace that accommodates both is tough
    • If you have the space in your office you could consider having a standing and sitting level. Joe Dull does this with his small standing workspace and conventional desk. My wife, Shauna, does this with a platform on a desk for standing and a separate desk for sitting. She puts her notebook computer on the standing desk and has her iPad on the sitting desk.
    • I find myself in meetings or other out-of-the-office, but not outside-the-building moments where I am sitting with everyone else and the rest of the time I stand if possible. The Bat Cave does not have standing accommodations ATM so I sit when I’m in there.
    • Get an adjustable workstation – can be kinda spendy, but cool – BTW, I have never used any products from Ergotron, but they look good…
  • Getting a standing desk can be tough. You might have the skills and resources like me to build your own. Or, you have the purchasing power to buy something. Some retailers have adjustable desks like Ergotron and some can build based on your height. Getting a desk built to a specific height is surprisingly cheap compared to adjustable desks – Google it…
  • Anti-fatigue mat. These are often sold at box stores as kitchen mats. At work I have a cheap mat that compresses to the ground within a few seconds and does not do well – I simply chose poorly. There are several at the box stores to choose from. Find them, put them on the floor, stand on them, and pick one that feels good. At home I went with industrial rubber mats available at Lowe’s. They smell terrible, but once the outgassing of rubber is over they are crazy comfortable and do NOT break down when standing in the same place.
  • Sensible shoes. If you are still reading then this may seem obvious. When I went with a standing desk I got a lot more interested in what was wrapped around my feet. There was no way I was standing in my motorcycle boots for 8 hours or more. Initially I put some comfortable shoes in my office that I could change into. Later I just got into changing my shoes as much as possible during the work week. This summer I got some Adidas running shoes that are a bit out of character look-wise for me, but damn they are comfortable so I wear them quite a bit.
  • If you make your own
    • Have a plan for adjusting the height +- 1″. I based my office and home desks off of testing with desktop platforms and other things I had around the house. All was well until I added an anti-fatigue mat – suddenly lost 1/2″ of height and had to make feet to raise the whole desk up. I have not done this at home yet, so my ergos are not perfect ATM.
    • Have a plan to give yourself a rest – I’ve already mentioned this, but it is important. This has not been an issue with me, but my colleagues who have tried standing desks find themselves really needing to sit and stand.

How about hearing from someone else? I ran across these videos a week ago and they are nice and very appropriate (the expert works at Pixar). Watch all of them – they are short!

Part 1: Chair Setup
Part 2: Desk Setup
Part 3: Standing Desk
Part 4: Products

Here’s what I have done so far:

Standing Desk at work. Notebook computer is on a platform to get its height up though still not optimal. Bonus points if you can find my shoes I put on for the days I wear my boots. You can also see the feet I made for the desk to deal with the anti-fatigue mat.

Office Standing DeskOffice Desktop

 

 

 

 

 

 

 

 

The Bat Cave has my old 12×12 Intuos2. I put the keyboard on the tablet and remapped the working surface just like the expert described in part 4 above (I did that over a year ago – ahead of the curve).

Bat Cave Desktop

 

 

 

 

 

 

At home I have an Intuos4 Medium. I love it, but wish I had the 5. The 5 has touch capabilities. Rather than upgrading, I bought an Apple trackpad and it is great. There are so many UI touch/swipe actions in modern OSs that a trackpad is so much better than a mouse for general computing as well as augmenting a non-touch tablet. I dealt with the issue of mouse/trackpad – tablet – keyboard layout the way old Smoke and Flame operators did. The tablet is the most important input device. The keyboard is for shortcuts and naming things. The mouse/trackpad is useful every once in a while. If I need to write a lot then I swap the tablet and keyboard. The girl with the standing desk in video 3 needs to take note.

Home Desktop

 

 

 

 

 

 

I’m not done. Ergos are not only your physical presence with the computer. They are also how you interact with the software you use regularly. Since the summer I have read a few articles that discuss user interaction and ergonomics. Two things that stand out in my reading are scrolling in a UI and interaction speed. Brecht Van Lommel of Blender fame discussed scrolling here. We scroll through interface elements a lot in 3D animation and compositing applications especially. If we have to scroll a lot then how to we do it? We use the middle mouse button/wheel or we use trackpads or tablet wheels. Either way, scrolling makes us tense up our finger(s), wrist, and arm muscles, which can cause fatigue over a session of work.

Interaction speed has been on my mind for years, but I did not know why. This article described the problem beautifully – “Pixar has actually done comprehensive studies on artists animating with IK rigs etc that show not only is responsiveness cost effective, but as systems pass certain responsiveness thresholds (50 ~ 60 frames per second in terms of interactive refresh times) artists grip their pens or mice less firmly, relaxing arm and wrist muscles and thus reducing strain injuries. By making their artists able to enjoy faster responsiveness, Pixar saves production time – and more importantly their artists are healthier.” When a user waits for the software to respond to his/her input it creates muscle tension. That tension piles up over the hours/days/weeks/etc. and causes problems that lead to under productivity or even burn out.

In a past post about editing software I mentioned the speed of some of the video editors. I believe speed is such an issue not only because the software can respond to the speed of the user’s thoughts, but also to his/her physical movements. If a user has to wait for the interface to respond then it creates both mental and physical tension that is very difficult to overcome.

It is easy to buy a cheap task chair, desk, keyboard, mouse, and monitor, but I suggest you consider the long-term issues associated with creating a sub-par working environment. Fatigue, eye strain, poor circulation, weight gain, even digestion problems stem from poor posture and being too sedentary. A good chair, desk, monitor, keyboard, and input device (mouse, tablet, and/or trackpad) will last for several years and computer upgrades. Consider spending a little more on these devices/furniture and take care of yourself. Also, walk for at least 30 minutes a day if possible.

Some standing desk reading for you