BLACKISH DEV BLOG Support
 

 

Snapping in Modo

As intuitive as most parts of modo are, I don’t think snapping is all that easy to “get”… Or at least I haven’t really gotten it entirely yet. But I came one step closer today:

The Task: Find an easy way to snap a vertex to another vertex within the same Item

Solution: Enable Snapping in Geometry Mode and then in the Tool Properties on the left, make sure to select either “Foreground” or “Both” under Layers (not realizing that this option exists was my long-time mistake, as it was set to “Background” by default). Now press [t] for the Element Move Tool and start snapping vertices!

Bonus Tip: Check the Snaps and Precision pop-out-menu unter Basic Tools…

3 Comments

Age of Curling

Out now for the iPhone!

http://games.blackish.at/ageofcurling/

4 Comments

Modo: Spherical Maps

More details about my findings when trying to create spherical reflection maps…
This is a scene from the iPhone-game I’m working on:


I placed a sphere in the center of the scene, applied a 100% reflective material (no specular or other stuff) and tried Render > Bake to Render Outputs


Well… Not all that great. Turns out the position of the camera is quite important here too. The trick is to place the camera inside the sphere:


Voilà – perfect result.

PS: Well, a couple of other things needed to be set up too… Render/Global Illumination: Ambient Intensity to 1.0, Ambient Color to pure white, Final Color Output: Gamma to 1.0…

Well, just see for yourself. Here’s a file containing the setup for both cubemap rendering and spherical map baking: cubemapBakingSetupEmpty.lxo

Edit: You can now set your camera’s projection type to spherical in modo! Even easier! 

2 Comments

Modo: Rendering Cubemaps

So… A few more details about the cubemap rendering setup:


Cameras set up so that the image-planes meet at the edges, oriented correctly and named correctly.
Now set the Renderer to output a square size and render an image with each cam (if someone finds a way to automate this with a script or something, please let me know – it gets boring after a while…).
Assemble the pieces in Photoshop (or the likes) and done we are:

Leave a comment

Modo: Rendering Cubemaps and Baking Spherical Maps

The other day I wanted to get some good reflections on an object but didn’t want to place it in another scene. (I should have, it would have been faster. But at least I learned something new this way…) So I set up a scene with 6 cameras and rendered a cubemap to use as an environment texture for the new object. Turns out it’s not that simple as modo doesn’t quite like cubemaps on the environment. So I had to come up with a new way and created a spherical map, which worked out great…

Cubemap: set up 6 cameras and render an image with each one; assemble in photoshop…
Spherical Map: make a reflective sphere with a good uv layout and bake to texture…

remind me to go into more detail and post some screens…

Leave a comment

Animating Cameras in Modo for Unity

There might be a better way, but this is how I’m doing it right now:

  • Set up a scene with a little mesh and a camera parented to that mesh.
  • Match the camera settings in modo and unity (Since cameras take Field of View in unity and Focal Length in modo, you might want to look at this converter)
  • Animate not the camera but the little mesh
  • Export the scene as FBX and import it into unity
  • Put a camera on the little mesh, set the y-rotation to 180

Ideas for the future: Test if it would work to just animate the camera and after importing into unity replace the now empty camera-item with an actual camera that has the same name…

Leave a comment

Draw Calls

Based on a bit of research, watching the Unite ’07 Performance Optimization talk and talking on the unity forums:

Each material on each mesh causes one draw-call per frame, per light that affects it and per camera that sees it.

If I have 1 mesh with 20 seperate textures, only ambient light, one camera, this will also result in 20 draw-calls. If I would combine the 20 textures into one atlas the scene would now only need a single draw-call.

If I have 20 meshes with one texture each, only ambient light, one camera, this will result in 20 draw-calls. If I would combine all the textures into one big atlas, the scene would still require 20 draw-calls, even though all the objects would now use the same texture.

The only way to optimize here would be to combine meshes. But you can only do that if your meshes aren’t to move around independently from each other.

3 Comments

PVRTC Texture Compression as seen on the iPhone

PVRTC is a block-based texture compression, that means that it works with groups of pixels. Problems mostly show up in high contrast areas where too many different extremes meet.

“It uses a representation that is based on the blending of two ‘low frequency’ signals using a high frequency but low precision modulation signal.” So when compressing, it takes your image, creates two small blurry versions and a modulation image. When putting it back together it calculates the value of each pixel like this: It scales the 2 small images back up and samples the 2 colors from the right location, and then decides which shade in between the 2 values to take based on the modulation image.

There’s an example on page 4 here, just look at Figure 3 and Figure 2: http://web.onetel.net.uk/~simonnihal/assorted3d/fenney03texcomp.pdf
(This is the doc I quoted above)

So the solution is very simple, isn’t it? Just try not to use more than 3 different colors in each 4×4 pixel block… ;]

Leave a comment

Modo: Baking Textures with Indirect Illumination

Camera Position matters a great deal when baking Indirect Illumination! Look at the example below. – This is part of the ceiling of a room where the camera was on one end when baking. Notice how the quality deteriorates towards the right:


Once I moved the camera below the room, moved it a bit away from the scene and pointed it up, the result improved greatly. (Of course I had to adjust the Indirect Illumination settings a bit to get good results with the camera further away from the scene)

And while I’m at it:

A short summary of what the Irradiance Caching Options do for future reference (info from the modo user guide):

The difference between Indirect Illumination with or without Irradiance Caching is that “Irradiance Caching relies on much higher quality samples distributed sparsely across the project whereas Indirect Illumination without Irradiance Caching uses lower quality samples at every pixel.”

  • Irradiance Rays: Number of rays fired
  • Supersampling: After all rays have been fired, this fires 25% additional rays into difficult areas
  • Irradiance Rate: Minimum distance between screen-pixels on the surface where irradiance is computed
  • Irradiance Ratio: Ratio between minimum spacing (Irradiance Rate) and maximum spacing between computed values
  • Interpolation Values: How many nearby values are required to interpolate? if not enough values are found, it forces the computation of a new value
Leave a comment

Modo: Push towards Mesh Constraint


I knew I had seen this in a video somewhere and had tried it before, but now that I needed it, I just couldn’t figure out how to do it. (And I couldn’t find the video anymore either) So it took a while, but I got it to do what I wanted it to in the end:

I had a sculpted asteroid and a simple sphere and I wanted the sphere to match the asteroid as closely as possible. This is how it works:

  • Make the highpoly mesh be the background
  • Under Snapping select Constrain to: Background
  • Use the Push Tool (under Deform) on the Sphere to push it towards the constraint
Leave a comment