Hi! I am completely new to houdini, the reason why I am trying it out is that I am trying to produce an effect I find difficult(or impossible?) With other 3d softwares.
What I am trying do is a sort of pixelated effect in 3d. Basicly an actors face wil slowly become more and more pixelated. This I am thinking solving in the following way:
1. Build a 3d replica of his face in 3d using imagebased modelling.
2. Match this to the footage including the movements of facial features such as jaw.
3. use this replica as a base to produce boxes filling the space of the replica face. I want theese boxes to be "static to their own positions so if the jaw moves for example the boxes will not move but ne ones will be created in the space where the jaw enters. The boxes will however follow the movements of the head in space.
4. I want these boxes to take the color of the avarage of underlying pixels of the texturemap on the replica head.
Does thet make any sense?
I am sure that this effect is doable in houdini but I dont have any idea where to start. Should i go for particles or some modeling approach?
any ideas out there?
ludvig
3d pixelation effect
12096 19 2- lude
- Member
- 6 posts
- Joined: July 2005
- Offline
- JColdrick
- Member
- 4140 posts
- Joined: July 2005
- Offline
- Simon
- Member
- 2199 posts
- Joined: July 2005
- Online
Given that you do have a good reason to do this in 3d.
How about using a box with divisions turned on, parented to whatever you are tracking your head with. Use an add sop to turn it into points, and a group sop with group by bounding object, using the head model to create an animated cloud of points that are inside the head. Then finally follow this up with a copy sop and copy another box to this group of points.
How about using a box with divisions turned on, parented to whatever you are tracking your head with. Use an add sop to turn it into points, and a group sop with group by bounding object, using the head model to create an animated cloud of points that are inside the head. Then finally follow this up with a copy sop and copy another box to this group of points.
The trick is finding just the right hammer for every screw
- lude
- Member
- 6 posts
- Joined: July 2005
- Offline
Wow!
I am very impessed with how fast you answered my question, thanks!
Well the reason I want to do it in 3d is that I dont want it to look like an effect but as something that is really happening to him, a part of reality so to speak. When the actor rotates his head or the camera moves around him it will obvious that his face is infact made of boxes.
Simon that sounds like a great idea, I dont have a clue how to do it but I ill try my best! It is very important that the boxes all have the same size and that they are placed “side-by-side” if you know what i mean. I think that your idea could do this(well i sounds so to me anyway). So basicly I can create an 3d array of points with lets say 50mm apart and if these points are inside the “head object” the are assigned to a group, this group are given a box each to display? I guess I could project a blurred version of the filmed material as a texture projected from the camera through the whole cubeobject to get around the texture issue…
I am very impessed with how fast you answered my question, thanks!
Well the reason I want to do it in 3d is that I dont want it to look like an effect but as something that is really happening to him, a part of reality so to speak. When the actor rotates his head or the camera moves around him it will obvious that his face is infact made of boxes.
Simon that sounds like a great idea, I dont have a clue how to do it but I ill try my best! It is very important that the boxes all have the same size and that they are placed “side-by-side” if you know what i mean. I think that your idea could do this(well i sounds so to me anyway). So basicly I can create an 3d array of points with lets say 50mm apart and if these points are inside the “head object” the are assigned to a group, this group are given a box each to display? I guess I could project a blurred version of the filmed material as a texture projected from the camera through the whole cubeobject to get around the texture issue…
hej & h& & en flaska me rom!
- Siavash Tehrani
- Member
- 710 posts
- Joined: July 2005
- Online
lude
So basicly I can create an 3d array of points with lets say 50mm apart and if these points are inside the “head object” the are assigned to a group, this group are given a box each to display?
Precisely!
I've uploaded an example file of what Simon was talking about. Look at the SOP network, the operators with blue text have comments attached to them. You can read them by middle-clicking on them. Be aware that this will cook (calculate) the node that you are middle-clicking on. This file only solves some of the problem. For example, I haven't tried to sample the texture and assign each point an averaged color. Also the division box hasn't been parented to the head in any way, nor does this example show any animation.
http://www.geocities.com/stehrani3d/3dfiles/3dpixels.zip [geocities.com] (Right-Click > Save As)
I'm assuming this is the general effect you were going for.
- lude
- Member
- 6 posts
- Joined: July 2005
- Offline
DaJuice you are too modest!
“For example, I haven't tried to sample the texture and assign each point an averaged color. Also the division box hasn't been parented to the head in any way, nor does this example show any animation.”
Jesus, you did a lot for me! Thanks a million! I think I?Lll scrap my old 3d software just for the communityside of houdini!
“For example, I haven't tried to sample the texture and assign each point an averaged color. Also the division box hasn't been parented to the head in any way, nor does this example show any animation.”
Jesus, you did a lot for me! Thanks a million! I think I?Lll scrap my old 3d software just for the communityside of houdini!
hej & h& & en flaska me rom!
- 244
- Member
- 5 posts
- Joined: July 2005
- Offline
- lude
- Member
- 6 posts
- Joined: July 2005
- Offline
- Siavash Tehrani
- Member
- 710 posts
- Joined: July 2005
- Online
- lude
- Member
- 6 posts
- Joined: July 2005
- Offline
It responds very slow when I animate, cooking takes a long time. Seems strange to me, I mean it only generates a few thousand boxes to provide points and then theese points are grouped and given box each to display. Why is it so slow? Can I use particles to generate the pointcloud instead? Would that speed thingsup?
hej & h& & en flaska me rom!
- edward
- Member
- 7710 posts
- Joined: July 2005
- Online
As usual, performance problem can be examined by opening up the Performance Monitor and looking at the cook times.
Indeed, the copy sop cost is likely the bottleneck. You can just render only the points with instanced boxes instead of recreating the geometry. That will likely be much faster. You might have to give up on the texture coordinates though and just go with solid coloured boxes.
Indeed, the copy sop cost is likely the bottleneck. You can just render only the points with instanced boxes instead of recreating the geometry. That will likely be much faster. You might have to give up on the texture coordinates though and just go with solid coloured boxes.
- Siavash Tehrani
- Member
- 710 posts
- Joined: July 2005
- Online
Hey Lude.
The scene is not interactive unfortunately, but you can animate your character as you would normally, and then pipe it through the network when you're done and let mantra do its thing.
I've uploaded a new file. Now you have a solid color per box according to the texture you're using. It uses a nicer model as well (the horns on the deer were wasting a lot of points) and there is also a “shrunk” version of the head to get rid of unneccesary points inside of it. I watched the performance monitor with this file (pretty cool btw, didn't know about that) and the first Group SOP is by far the most expensive thing. Don't really know how you could speed that up.
You should also know that as you approach 100x100x100 divisions, you will need a good amount of RAM.
http://www.geocities.com/stehrani3d/3dfiles/3d_pixels_update1.zip [geocities.com] (Right-Click > Save As)
Good luck, let me know how things go.
The scene is not interactive unfortunately, but you can animate your character as you would normally, and then pipe it through the network when you're done and let mantra do its thing.
I've uploaded a new file. Now you have a solid color per box according to the texture you're using. It uses a nicer model as well (the horns on the deer were wasting a lot of points) and there is also a “shrunk” version of the head to get rid of unneccesary points inside of it. I watched the performance monitor with this file (pretty cool btw, didn't know about that) and the first Group SOP is by far the most expensive thing. Don't really know how you could speed that up.
You should also know that as you approach 100x100x100 divisions, you will need a good amount of RAM.
http://www.geocities.com/stehrani3d/3dfiles/3d_pixels_update1.zip [geocities.com] (Right-Click > Save As)
Good luck, let me know how things go.
- lude
- Member
- 6 posts
- Joined: July 2005
- Offline
Thanks again DaJuice, this seems to be more or less EXACTLY what I wanted to accomplish. I am currently upgrading my 3d workstation so I wont be able to check it out until next week or so. I had a quick look at it before I started taking my puter apart. I couldnt get the texture aproximation to work. I probably did something wrong whn rendering it though. I will get my hands dirty with houdini and this prject as soon as my new pc is up and running.
Hats off DaJuice!
Hats off DaJuice!
hej & h& & en flaska me rom!
- Simon
- Member
- 2199 posts
- Joined: July 2005
- Online
- edward
- Member
- 7710 posts
- Joined: July 2005
- Online
- mookid20
- Member
- 36 posts
- Joined: July 2005
- Offline
- edward
- Member
- 7710 posts
- Joined: July 2005
- Online
- Siavash Tehrani
- Member
- 710 posts
- Joined: July 2005
- Online
Hi, a new version of the file. It's more efficient than the last one. Feedback would be nice.
http://www.geocities.com/stehrani3d/3dfiles/3d_pixels_update_june_05.zip [geocities.com]
Thanks for the help and good ideas in the chat Edward.
http://www.geocities.com/stehrani3d/3dfiles/3d_pixels_update_june_05.zip [geocities.com]
Thanks for the help and good ideas in the chat Edward.
- deecue
- Member
- 412 posts
- Joined: July 2005
- Offline
hey dajuice,
i never checked out the older versions but the one you just posted is pretty slick.. very nice.. i agree with edward about putting it up on the exchange.. would be cool to even wrap it up in an otl.. the only thing i would leave out is the point instancing.. as you stated in the note card, it's prob not worth it for all those points to store the instancing attributes for the case of a 6 poly cube.. jason was helping me understand that over at odforce a little while back..
good job though.. pretty sweet effect.
i never checked out the older versions but the one you just posted is pretty slick.. very nice.. i agree with edward about putting it up on the exchange.. would be cool to even wrap it up in an otl.. the only thing i would leave out is the point instancing.. as you stated in the note card, it's prob not worth it for all those points to store the instancing attributes for the case of a 6 poly cube.. jason was helping me understand that over at odforce a little while back..
good job though.. pretty sweet effect.
Dave Quirus
- hoknamahn
- Member
- 398 posts
- Joined: July 2005
- Offline
Here there is slightly improved version of a scene (much quicker cooking).
http://www.cgtalk.ru/~hoknamahn/voxels.tar.bz [cgtalk.ru]
I have added the Area Map SOP (alpha version, H7.0 for Linux only) which generates the points located in the center of the polygon. It would be very good to use for calculation the size of voxel the area (or other geometrical parameters) of the polygon in which voxel it is placed (and for scale of effect to multiply the sizes of voxel on scale factor).
http://www.cgtalk.ru/~hoknamahn/voxels.tar.bz [cgtalk.ru]
I have added the Area Map SOP (alpha version, H7.0 for Linux only) which generates the points located in the center of the polygon. It would be very good to use for calculation the size of voxel the area (or other geometrical parameters) of the polygon in which voxel it is placed (and for scale of effect to multiply the sizes of voxel on scale factor).
f = conserve . diffuse . advect . add
fx td @ the mill
fx td @ the mill
-
- Quick Links