Jump to content

Relax SOP tool


vi_rus

Recommended Posts

Hi guys) Check out my new tool for smoothing geometry. Main problem of smoothSOP that after some iterations it almost don't smooth geometry. And speed of course.

Its really cool dude..

Compared to smooth sop it is fast..

keep going dude:)

Link to comment
Share on other sites

Yes, of course) Logic is pretty simple... It just find neighbors for every point and compute average position. And user can set depth of neighbors. Neighbors in this context means points that connect with current point. That's all)

Edited by vi_rus
Link to comment
Share on other sites

Hi guys) Check out my new tool for smoothing geometry. Main problem of smoothSOP that after some iterations it almost don't smooth geometry. And speed of course.

I see you have a very low cutoff Frequency in your smoothSop. Try cutoff Freq at 2.1 and Smoothing iterations 500

Link to comment
Share on other sites

  • 3 years later...

Hi there,

 

since I'm new to H coming from SI I struggle a bit to make this compatible with H14. In SI I made my own SmoothDeformer within ICE. So the general idea is for sure the same, but H14 spits out some error messages. Not sure how to get rid of them. If somebody could update the otl it would be great.

 

P.S.: How can I alter the otl since everything is grayed out? Is this some kind of compilation into a more powerful code? Are there any tuts which do explain how to go back and forth with this kind of network?

 

Cheers

Tom

Link to comment
Share on other sites

O.k., can't get it to work so far. When I import the otl I seem to end up with three nodes. Neighbour Relax, Point Relax (Manipulate) and Point Relax (Digital assets) which can be found while pressing TAB. Point Relax (Mani.) then gets altered by myself, since there are at least two errors in the script because of the advances in H. In Neighbour_finder1 I edit the script from

 

float neigArr[MaxCount]

 

into

 

float neigArr[]

resize (neigArr, MaxCount)

 

and in the foreach > neighbour_relax1 I change all arrayLength into len.

 

With these modifications I don't get any more compiling errors.

 

BUT, so far only one point of the mesh moves (not necessarily into the corect smoothing direction) and when I open H again and load the scene I get an error: Couldn't remove old operator type definition sesi_temporary::Sop/relax.

 

With "Allow editing of contents" enabled I saved the operator type (not possible after "match current definition") after my changes.

 

To summarize everything:

 

a) no mesh smoothing so far

 

and

 

B) the error message.

 

So if anybody could take a look at the otl or tip me off in the right direction I'd be really glad.

 

Cheers

Tom

Link to comment
Share on other sites

as a quick fix you can chnge Neighbour Finder Code to this to work with H14:

sop
neighbour_finder(int MaxCount=0)
{
int neigCount=neighbourcount(0, ptnum);
int i=0;
float neigArr[];
resize(neigArr, MaxCount);
for (i=0;i<MaxCount;i++)
    {
    neigArr[i]=(float)neighbour(0, ptnum,i);
    }
addattribute("__neighbour",neigArr,MaxCount);
addattribute("__neighbourCount",neigCount);
}
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...