So for some time now I am quite interested in this process called photogrametry. Basically its when you take some photos of an object from different viewpoints and a dedicated software tries to reconstruct 3D model out of these images. That takes practice. First you need to take pictures in a specific way, then you need a lot of ram on your computer and long time to wait :) Alternatively you can use some cloud based solutions that will compute a 3D model for you. Then you usually have to correct all the errors that software produced. In this case I was shooting public sculptures in Vilnius city. I have some more photographed, and I have covered probably like a third of city sculptures :) Here is a test with uncleaned geometry. Only sculptures far away where reduced so they have less polygons. The rendering process took some days. It is a 15000 px X 7500 px resolution equirectangular projection that i got using mental ray’s “wrap” shader. Click a link for interactive version of this panorama here.Image

Most popular software probably would be agisoft, 123D catch and recap.  You can find out more about photogrametry in this talk from autodesk. My personal observations and recommendations for shooting images intended to be used for photogrametry would be:

1. Always shoot raw files (no .jpg see what format your camera supports .nef .pef .dng) If you do so you can import your raw photos to lightroom or similar photo editing program and reduce highlights to the max also reduce (or bring out) shadows. So you get quite dull picture with less contrast then one would expect from a normal image. What you want to do is to get back details from all areas that are very light, so they become gray (usually) but contain more details. And shadows become less dark – you regain details in the shadows. You can experiment adding “details” in lightroom. its sort of local contrast / sharpening thing.

2. everything should be captured in focus. Use quite closed aperture to get more DOF. get to know your lens, find a hyperfocal distance if its a prime lens. I have never tried this for photogrametry, but when shooting very small objects one could try image staking in photoshop to get all in focus. Its under automate – stack images if remember correctly.

3. avoid sky. There is no information there, and even if there is its useless – if you have moving clouds for instance. And it messes up your exposure. Try using manual exposure. Again never tried this for photogrametry, but if your object has very different lighting conditions – say one side of building is in a shadow while the facade is in harsh sunlight you could try HDR photography. .

Try having as much as possible of background details. If you are shooting a small object, make sure its not on a single color table that has no color details in its surface. Use a newspaper with text for a backdrop.

which camera angles to choose? This info should be provided by the software you are using. Here are Agisoft’s tutorials.  In general you have to change the position of camera in each shot. also each shot should contain some parts of object that where visible in a previous shot. And get some extra ram! Image

and cook some popcorn on your frying CPU!

Here is a 3d Print of one of a sculptures:

zemaite sculpture

zemaite sculpture

vilnius city sculptures

sculptures rendered with no original materials

here are some links I found on the same topic that are worth reading! : The Art of Photogrammetry: Introduction to Software and Hardware

Here is a blog of some museum that deals with conservation and is using photogrametry: Georgia O’Keeffe Museum Research Center

Then there is Mark Florquin he is doing quite amassing things : Mark Florquin

 

 

Not sure if this is worth a separate post, but sins I haven’t wrote here for months and months… here it goes :)

softimage

softimage

So here at CG chanel.com I have read that the softimages development team, which worked on a product for more then 10 years was moved to work on maya related projects. A new team of developers was assigned for Softimage. “Softimage development will now be carried out by a six-person team in Singapore, headed up by Senior Software Development Manager Chun-Pong Yu.” Strange thing is that I didn’t found any news on this on area or at xsi base pages… Is it a rumor? Anyone?

——————

Also read about death of Softimage nr 1.

So this one will be again, the call for a new tool . Now it might very well be that image of big head and small eyes
someone of you know some work around or some way to achieve this, if so please share with us your knowledge. So its all about texturing and laying out uv maps. Lets say I have a character which I am planing to texture using unwrap uvw modifier and say a pelt mapper. Now my model has a separate model for head, torso, cloths, hands and so on. After I peel each of them, the sizes of my characters head texture, hand texture and everything come in same size. they all are fitted to this one square.. Now if I want to hand paint textures things like the width of the line in a texture matters. so in the case where  I have, lets say a giant head of the character and tiny tiny eyes, the unwraper will make them same in a size. And that gives me a problem. If I apply same texture say with a dots, the dots on a head will be huge compared to the ones on the eyes…

naturally in a unwraper I can resize everything, but as far as I know its all done by hand. So the question remains, how to make many pelt maps from many separate objects so the sizes would be very simar to these sizes of actual geometry? default size of a pelt map in unwraper

————————–Ok! seems I have an answer myself :) I found this gait tool – Unwrella! from now on its sort of advertising, but i found it solves exactly this problem – it makes the sizes of pelt uv’s all correct sizes relative to each other! text from their website:

Unwrella is an exact unwrapping plug-in for Autodesk 3DSMAX and Autodesk Maya. It is a single click solution which allows you to automatically unfold your 3D models with exact pixel to model surface aspect ratio, speeding up texture baking UV map production significantly.

  • Automatic one-click solution – Just apply the Unwrella modifier
  • Precise – Preserves user created UV Seams
  • Smart – Reduces texture mapping seams almost completely and minimizes surface stretching
  • Efficient – Chunks are kept large and are arranged on the UV surface with maximal use of available space
  • User-friendly – User defined pixel based padding between UV chunks
  • Excellent for all kinds of models (organic, human, industrial)

So another minor complain on 3dmax’s UI. Its sort of very minor, and in essence is just a tiny thing, but still I personally think it could, and I think should be improved. So it’s about camera (not exactly camera, just viewport) position when you are modeling. So I guess many of us, max users are using “zoom to selected” viewport tool. I use it a lot, and especially when modeling. So the situation is this. One is modeling something, and selects a couple of vertexes, which happen to be in same position. Now we can’t really see anything cos now we look at whole model. so we hit zoom to selected, and bam most likely we see.. nothing. Or just some part of our object, which has suddenly lost its shape. Its viewport clipping I guess. The zoom tool zoomed so close to selected vertexes, that max decided it’s too close and just clipped the model. Or that’s what I think that happened. Look at the pictures, or try it yourself. Not sure if it is exactly what happens, but it sure looks so. Why does max do this?

just an object

just an object

(usually this happens when we model say a character, or whatever, and we work only on one half of the model. Other half we minor, and later on we want to weld vertexes which duplicate in the original and mirrored object.. at least that is one of situation where this occurs..)

So what do we do? just scroll back a bit, bam, the model is back, and we are close to our selected elements to work with. But, if you are unexperienced, u might go … Ouch, what happened??? or just scroll back, like you did 1 million times. But can’t we make a tweak in viewport camera positioning and zoom to selected tool’s code, so it doesn’t go to such extremes where model gets clipped? Anyone? So it’s just another small complain. Yes, I know there is million other things that are more important to improve. And this is just a tiny annoyance.. but if it would be just a couple of lines of code, might be it would be worth while writing them down? sins I suppose it should be quite straight forward thing, it’s not like one has to write Lagoa for max or anything like that… (Yes Lagoa would be cooler to get… :) Am I right? am I wrong?

———————–

1. (in image) The clipped area that is not shown….

As many of you I do enjoy working with an “extrude along spline” tool.
It makes your modeling so much faster in some cases, and it has
flexibility to achieve various results fast. I found it very good when my
task is not very constrained, when I work with something that I can change and create at my will.
But Some time ago I needed to do something more precise. To be exact i had to
do some lines on a sphere surface. I did remembered nice tool we have in NURBs arsenal which is called “create cv  spline on surface”. Now that i had my splines on a surface i needed to use them as splines for extrusion in my model.  And then I had some troubles with extrude along spline tool.  It just doesn’t seem to actually follow given curve, or to be more precise, the result is same as the curve, but its orientation is all wrong.
And then I had to find how to fix it. So if any of you happen to have same problem
here are some screen shots with a problem and its solution.

 

object and the spline

object and the spline

 

Just a picture of an object and a curve.

extrusion

extrusion

 

 

 

 

 

 

 

 

 

 

 

 

So we select faces and go to extrude along spline, and we choose our spline.

 

aligning

aligning

“Align
Aligns the extrusion with the face normal, which, in most cases, makes it perpendicular to the extruded polygon(s). When turned off (the default), the extrusion is oriented the same as the spline. To Face Normal, the extrusion does not follow the original orientation of the spline  it’s reoriented to match the face normals, or averaged normals for contiguous selections. The Rotation option is available only when Align To Face Normal is on.”  description from 3dmax help file.

 

rotation

rotation

 

“Rotation
Sets the rotation of the extrusion. Available only when Align To Face Normal is on. Default=0. Range=-360 to 360.” again, from 3dmaxs help.

make it first

make it first

 

So here we

select the vertex which is closest to extruded polygon so we can make it “first”

wuala!

wuala!

 

 

 

 

 

 

 

 

 

 

 

So we have it. Now our extrusion actually follows given spline. This seems to solve my problem. Hoope it helps you too.

 

 

Here it is, a title which, as usual is quite confusing. First of all here we will not discus mathematical nature of various random number generators (which is also an interesting topic). And we will focus on esthetics of random. Random… what? Well anything random I guess.

So as I see it there are two ways of making things esthetically more interesting*. One would be depicting more. Say we have a plain wall, we would want to see 5 layers of paint which where applied, and in some parts the paint is cracked and we see bricks, also we see a spider web and so on. This is one approach, and it is a best way to achieve visual detail, and make our frame more interesting. But it takes time to construct both wall, and spiders and dirt and so on. Another approach is to increase detail by adding random elements, which by themselves do not depict anything in particular, but in certain context might be perceived as intended detail.

plian white wall

plian white wall

rich white wall

rich white wall

Again noise is just noise. But if we use gray noise placed above depicted fireplace, viewer will think its a smoke. If we add same gray pattern of noise on plain wall, viewer might interpret it as a dirt on a wall. This way is much faster. And this is what we will talk about.

First of all lets see a simple Perlin noise pattern, and a multiple scaled Perlin noise patterns. (image A)

perlin noise, taken from wikipedia

perlin noise, taken from wikipedia

And in picture “B” we see variations of Perlin noise (here I am not certain if it is actually a perlin noise, probably not, corrections are welcome) which intend to depict something more precise then abstract noise itself.

cedural maps "Celular, Dent, Perlin marble, marble", 3ds max, image B

procedural maps “Celular, Dent, Perlin marble, marble”, 3ds max, image B

So a simple comparison could sound like this.
Perlin Noise. A boring plane noise which is rather abstract and doesn’t depict anything in particular. Which is also a good thing as an element to construct more sophisticated noise like effects.
Now there is nothing better then Scaled multiple Perlin noises. It has different size elements (see image A) and is almost a god in cg world (no?). And variations of Perlin noise, which could be modified to depict wood and other interesting patterns. But what is the difference between Perlin noise – and multiple scaled Perlin noises? Well, I would say that its all same plane noise, but it goes towards depiction, towards sophistication, towards no randomness.

So desired noise for image enhancement, should look like intended detail rather then just random detail. What I want to say, its not the detail itself that is a valuable a detail, its a detail that has something behind it. And its quite tricky to make automatic algorithms that would not only add detail such as Perlin noise but a noise of a sort that somehow depicts something, without a necessity to actually take care of what it depicts. And for that I think we need to look in to such procedural maps as “planet” in 3d s max. Its is gone in new max versions.. (why?). Also in some older posts I suggested to build materials, or procedural maps that would “feel”the geometry they are applied upon. Especially the last link talks about an extra detail on edges of mesh.

One example from real world. Some days ago I was walking in a street and saw a window. It was dirty and covered in paint. But the paint was not running down, but upwards. Now first thought would be that it is an unneeded detail, which , if it where a CG shot, not a real life would make no sense and would complicate understanding of an image or a shot. And then I found a possible reason for paint running “upside down” Most likely the glass was already dirty, and a person who made window used dirty glass without directing it in any particular way from point of view of paint on glass. What I am trying to say, is that observer will always try to find explanations, and be it correct or incorrect, one always might find reason behind something. And here is the question: If it would have been a CG shot, would it be a bad shot, because if one notices this it makes them uncomfortable, ads an unnecessary level of thinking and so on. Or is it a good shot, because rather then having a clean boring “plain”glass we have some visual details…

So I guess the point of this post is to make a note, that we do want detail, but not just any detail, we want it to be “in the context”. It has to depict something, somehow. And if it actually doesn’t depict anything in particular, we should strive that a viewer would find its meaning on his own. Its a tricky task, and I guess.

—————————————————————————————————————————————————————–

*Here I have to make a note and remind you that I am by no means implying that more complicated is better, more detailed is better, visually overwhelming is a desire. But In some cases it might be the case (or some of these statements at least). Just imagine a white wall, which is shot in a close up, and all u see is just a wall. It covers hole screen. Now say a wall is white. So we can imagine a situation where we have a whole image containing only of pixels of rgb value 255,255,255. If you would not know beforehand that it is a wall, wouldn’t you say, its just blank white screen? So in some cases more detail is better. And hole today’s post is dedicated only to this situation, where more detail is better.

——————————————————————–

I have remembered this blog article of mine sis I found this cool interview with Ken Perlin himself! One nice idea he has is: if something is too complicated, add another dimention to it. What does that mean? Listen to his interview at fxpodcast here:

link to fxpostcast with Ken Perlin about noise, aesthetics and perlin noise too!

another article here: link

So as usual it was quite a long time sins I posted something here. Unfortunately, even though I have some drafts, I just cant sit down and finish them. Therefore I decided to go for an easy post. Well its like writing an software review or movie review. (meaning a reflection of something rather then a creation, and here I am simplifying things a bit, there is surely complicated and “heavy”movie reviews as well as shallow “creation” stories.) Anyways this is gonna be a rather shallow story. But oh well..

So as all of us, weak human beings, from time too time we do stuff which we are not supposed to be doing. Sometimes its something very wrong, but more then often its just something that we are not suppose to be doing cos we are suppose to be doing something else. And most of the time we are watching movies, TV reading a stupid book, or don’t know.. Hundreds of things to do, in order to avoid something you actually must do. It could be anything. So as a member of this human race, I am too doing stupid things. But lucky us (humans) from time to time, on rear occasions, these stupid things lead to something. And be it not something great, or of huge value, its still sort of positive. Well the judgment here can be varying. Still.  As it happens, one of these times I was procrastinating I happen to be inspired by my own drawing in ink, and tried to do something of that sort in 3d. Ah finally you will say, he talks about 3d, its about time. So here it is a small rather dumb project. Who knows, when ‘the stars are right’ :) , one day I might actually do something good out of this. But for now we have:

A. A hand drawing of a… don’t know plankton, bug, molecule, microscopical being, alien, virus of a sorts?

ink version of a bug

ink version of a bug

B. We have a wireframe of recreation of itt in 3d. And then, we use some materials with falloff in opacity Chanel, we add some depth of field in our mental ray rendering engine, we invert an image, and here is what we have:

wireframe of a bug

wireframe of a bug

C. a final output:

final render of a bugg

final render of a bugg

Follow

Get every new post delivered to your Inbox.