Search - User list
Full Version: remove 1/4 sphere volume with VEX code
Root » Houdini for Realtime » remove 1/4 sphere volume with VEX code
jingyukan
Hello,

I preciously cut my sphere volume in half and let one half disappear using Vexpression like “f@density *= v@P.x<0”, but what if I want its 1/4 to be removed?
I tried to use expression like “f@density -= f@density *v@P.z<0 *v@P.x<0;”, but it did not work at all.
Hope someone can provide another way, thanks!
mestela
One of no doubt many ways:

if (@P.z>0 && @P.y>0){
    @density*=1;
} else {
    @density=0;
}
jingyukan
mestela
One of no doubt many ways:

if (@P.z>0 && @P.y>0){
    @density*=1;
} else {
    @density=0;
}

Thanks so much!
I remembered I tried this logic before, my syntax might be wrong
Konstantin Magnus
f@density *= length(v@P) < 0.4;            // sphere, radius 0.4
f@density *= max(abs(v@P)) < 0.4;          // cube, size 0.4
f@density *= abs(v@P.y) < 0.04;            // plane, thickness 0.04
f@density *= length(v@P * {1,0,1}) < 0.1;  // cylinder, radius 0.1

f@density *= v@P.y > 0.0;                  // top half
f@density *= min(v@P.y, v@P.x) > 0;        // one quarter
f@density *= max(v@P.y, v@P.x) > 0;        // three quarter
f@density *= avg(v@P.y, v@P.x) > 0;        // diagonal half
mestela
Show off.
Konstantin Magnus
I know I just overdelivered a little bit. Guess I just couldn't help myself.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.