font with raysop... suggestions plz

   9417   14   2
User Avatar
Member
10 posts
Joined: Dec. 2011
Offline
hi, a very beginner level question…

i am trying to create a logo with text shaped like being projected onto a torus.
1. used ray sop to project a grid onto a torus
2. used lattice to shape font with grid onto torus
However as i extrude the font then, i get weird results like these.

Kindly anyone suggest where am i going wrong.

Attachments:
01vprt_withLattice01.JPG (62.4 KB)
01vprt_withLattice.JPG (51.1 KB)
01network_withLattice.JPG (45.2 KB)

User Avatar
Member
2529 posts
Joined: June 2008
Offline
https://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=21000&highlight=deform+along+curve [sidefx.com]
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
182 posts
Joined: April 2009
Offline
I think your main problem is, that you want to deform the surface of the letters, but the Lattice SOP just deforms points. In your case it deforms your curve CVs. There is no real bending happening on the surface. That's why your “A” still has straight edges.

There are two things you could do:

You could try to remesh / divide ( bricker ) your letters until you have enough detail, then do the bending and extrusion and whatnot.

You could also project the letters onto a nurbs torus with the Project SOP + Trim or Profile, but then you're in nurbs-land and that is a bigger chapter in itself ( with a bit of headache )

Attachments:
abcde.hip (109.2 KB)
abcde.JPG (71.7 KB)

User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Looking closely at the primitives that form the front faces of the fonts, they are each a single curve/face. It's what you get when you extrude fonts. Deforming a single concave/convex complex curve face is not going to render kindly either in the viewport or Mantra.

You can use the Divide SOP to cut up your geometry. There is an option in the Divide SOP that allows you to “bricker” or cut up your geometry so that these large complex faces can be cut up in to quads/tri's so that they render/display better.

Just insert a Divide SOP, turn off Convex Polygons (if you want), then enable the Bricker Polygons option. Use your MMB on the size parameter label to adjust the cut dimensions to get polygons of a reasonable size to support proper deformation of the faces.

See the attached example file. Just flip the switch SOP to see the difference brickering the font makes.

Attachments:
twisting_font.hip (55.2 KB)

There's at least one school like the old school!
User Avatar
Member
10 posts
Joined: Dec. 2011
Offline
… thanks… they say it right: Help will always be given at this forum to those who ask for it.

1. Jeff, I tried to append divide sop but doesn't seem to work well with raysop. Getting good results with twist… but not with raysop. Yeah, being at a beginners stage, i might be going wrong somewhere.

2. As suggested by blackpixel, I tried his clean up node with my raysop network and everything works fine… looking great in viewport as well as renders out well. Whether I append polyextrude later or even when its used before raysop.

I am trying to understand in bits what you did at cleanup (attributeVOP), still if you can elaborate it, shall be of good help for beginners like me. thanks

Attachments:
divide_withTwist.jpg (139.6 KB)
divide_withRaysop.jpg (142.1 KB)
cleanup_withRaysop.jpg (189.5 KB)

User Avatar
Member
472 posts
Joined: July 2005
Offline
Hi,

you can use raysop indirectly on a grid, which you can project on another surface. With creepsop for example you can map the text on the grid, which will also transform to the surface.

Attachments:
creepText.hipnc (60.4 KB)

User Avatar
Member
2529 posts
Joined: June 2008
Offline
@neeraj: I am trying the setup you have posted in the image but I don't know what to connect to the Object Merge. What object did you merge in to make your system work?

@Aizatulin: Your system is a nice alternative but it distorts the proportions of the font or logo. Is there any way to use your creep setup and not distort the proportions? I realize the bend is a distortion, but the font/logo needs to keep its original volume based shape in the process.

Attachments:
ap_bend_font_around_torus.hipnc (105.4 KB)
Untitled-1.jpg (164.7 KB)

Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
2529 posts
Joined: June 2008
Offline
Here is a hybrid example file. I took blackpixel's font fixup nodes and put them in Symbolic's path deform vopsop example (found at the first link I posted).

This gives a pretty good deform along a path with easy animation controls. But extreme bends in a path do cause some render anomalies. Notice the edge of the letter “C”.

Attachments:
ap_font_path_deformer.hipnc (1.2 MB)
Untitled-1.jpg (74.4 KB)
Untitled-1.jpg (96.3 KB)

Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
182 posts
Joined: April 2009
Offline
It shouldn't really matter if you use the Divide SOP or the Remesh SOP . The latter can also be quite demanding with increased complexity. As jeff said, you just need to cut it up more to support your deformations.

@Neeraj:
The Divide SOP in divide_withRaysop.jpg doesn't work because your bricker size has negative values :wink:

About the cleanup Attribute VOP:
It is just a way to get rid of points, that are lined up on straight lines or spiky artifacts.
Say you have the connected points A—–B—–C and you want to know if point B can be deleted. What you do is get the normalized vectors to B's neighbors ( BA and BC ) and calculate the dot product. This gives you a scalar value between -1 and 1. You could use arccosine and “radians to degrees” to get the actual angle, but that's not needed in this case -> -1 = 180° and 1 = 0° -> points that are close to those values are either on a straight line or form a sharp spike -> delete. You do that for every point that has exactly 2 neighbors.

Here's a great lecture about vectors and the dot product in particular:
https://www.youtube.com/watch?v=PxCxlsl_YwY [youtube.com]
User Avatar
Member
472 posts
Joined: July 2005
Offline
Hi,

instead of using the lattice tool, you can also use the point deformer node, which is a similar tool but uses another algorithm, which seems to get better results, if you transform with local rotations.

Attachments:
Ray_PointDeform_Text.hipnc (74.5 KB)

User Avatar
Staff
2540 posts
Joined: July 2005
Offline
I am also getting better results with better performance with the Point Deform SOP than the Lattice SOP in general.
There's at least one school like the old school!
User Avatar
Member
10 posts
Joined: Dec. 2011
Offline
wow… grt help. thanks all. Helped me a lot understanding newer nodes and techniques.

hi Enivob: i brought grid onto object Merge
jeff and blackpixel: yes yes… i messed up with bricker size. Also trying to come up with what you explained what you did in cleanup attribute vop. thanks
Also the alternative provided by aizatulin is working grt.
User Avatar
Member
7 posts
Joined: March 2016
Offline
Hello guys, great stuff to learn in this topic. exactly what I was looking for!

I have another question, I am trying to wrap a grid around a tube object so that I can place a font node on top of it so that it moves along the curved grid. But, the grid always wraps around only till the half of the tube object and never goes all the way around. Any way to solve this?

Attachments:
ex3_roof_sign_v1.hipnc (78.2 KB)
grid_wrap.jpg (49.7 KB)

User Avatar
Member
182 posts
Joined: April 2009
Offline
That's happening because the Ray SOP shoots rays along the normals of the surface. So going from a grid all the rays go in a straight line.
Use the scale slider to see what it's doing.

In your case it might be a good idea to simply create the tube yourself from a grid or deform the text directly with a little trigonometry in VOPS

Attachments:
wrap_text_around_tube.hipnc (176.9 KB)
ray_gif.gif (403.3 KB)
text.PNG (120.5 KB)

User Avatar
Member
7 posts
Joined: March 2016
Offline
blackpixel
That's happening because the Ray SOP shoots rays along the normals of the surface. So going from a grid all the rays go in a straight line.
Use the scale slider to see what it's doing.

In your case it might be a good idea to simply create the tube yourself from a grid or deform the text directly with a little trigonometry in VOPS

EDIT : Thankyou so much!! You're awesome!!
  • Quick Links