[Sidefx-houdini-list] change geometry w/out triangulating

Sean.Lewkiw at cis-vancouver.com Sean.Lewkiw at cis-vancouver.com
Wed Apr 7 15:19:08 EDT 2010


Here is an example of how it can be done, save text below as file foo.cmd 
and then "hescape foo.cmd"  to load. 

# Automatically generated script: Wednesday April 07, 12:11
\set noalias = 1
set saved_path = `execute("oppwf")`
opcf /obj

# Node geo1 (Object/geo)
opadd -n geo geo1
oplocate -x 0 -y 0 geo1
opset -S on geo1
opparm geo1 use_dcolor ( off )
chautoscope geo1 +tx +ty +tz +rx +ry +rz +sx +sy +sz
opset -d on -r off -h off -f off -y off -t off -l off -s off -u off -c off 
-e on -b off -x off geo1
opexprlanguage -s hscript geo1
opcf geo1

# Node hi_rez_rest (Sop/sphere)
opadd -n sphere hi_rez_rest
oplocate -x -0.116192 -y -0.649589 hi_rez_rest
opparm hi_rez_rest type ( poly ) freq ( 6 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -c 
off -e on -b off hi_rez_rest
opexprlanguage -s hscript hi_rez_rest

# Node animate_1 (Sop/mountain)
opadd -n mountain animate_1
oplocate -x 2.37431 -y -0.931292 animate_1
chblockbegin
chadd -f 1 1 animate_1 offset1
chkey -f 1 -v 2.6 -m 0 -a 0 -A 0 -T a  -F '$FF' animate_1/offset1
chblockend
opparm animate_1 offset ( offset1 0 0 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -c 
off -e on -b off animate_1
opexprlanguage -s hscript animate_1

# Node lo_rez_rest (Sop/sphere)
opadd -n sphere lo_rez_rest
oplocate -x -1.58647 -y -2.36652 lo_rez_rest
opparm lo_rez_rest type ( poly ) freq ( 1 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -c 
off -e on -b off lo_rez_rest
opexprlanguage -s hscript lo_rez_rest

# Node encode_pt_pos_in_Cd (Sop/point)
opadd -n point encode_pt_pos_in_Cd
oplocate -x -0.116192 -y -3.61498 encode_pt_pos_in_Cd
opparm encode_pt_pos_in_Cd  numcustom ( 1 )
chblockbegin
chadd -f 1 1 encode_pt_pos_in_Cd tx
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$TX' encode_pt_pos_in_Cd/tx
chadd -f 1 1 encode_pt_pos_in_Cd ty
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$TY' encode_pt_pos_in_Cd/ty
chadd -f 1 1 encode_pt_pos_in_Cd tz
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$TZ' encode_pt_pos_in_Cd/tz
chadd -f 1 1 encode_pt_pos_in_Cd weight
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$WEIGHT' 
encode_pt_pos_in_Cd/weight
chadd -f 1 1 encode_pt_pos_in_Cd diffr
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$TX2' encode_pt_pos_in_Cd/diffr
chadd -f 1 1 encode_pt_pos_in_Cd diffg
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$TY2' encode_pt_pos_in_Cd/diffg
chadd -f 1 1 encode_pt_pos_in_Cd diffb
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$TZ2' encode_pt_pos_in_Cd/diffb
chadd -f 1 1 encode_pt_pos_in_Cd alpha
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$CA' encode_pt_pos_in_Cd/alpha
chadd -f 1 1 encode_pt_pos_in_Cd nx
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$NX' encode_pt_pos_in_Cd/nx
chadd -f 1 1 encode_pt_pos_in_Cd ny
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$NY' encode_pt_pos_in_Cd/ny
chadd -f 1 1 encode_pt_pos_in_Cd nz
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$NZ' encode_pt_pos_in_Cd/nz
chadd -f 1 1 encode_pt_pos_in_Cd mapu
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$MAPU' encode_pt_pos_in_Cd/mapu
chadd -f 1 1 encode_pt_pos_in_Cd mapv
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$MAPV' encode_pt_pos_in_Cd/mapv
chadd -f 1 1 encode_pt_pos_in_Cd mapw
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$MAPW' encode_pt_pos_in_Cd/mapw
chadd -f 1 1 encode_pt_pos_in_Cd tension
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$TENSION' 
encode_pt_pos_in_Cd/tension
chadd -f 1 1 encode_pt_pos_in_Cd springk
chkey -f 1 -v 30 -m 0 -a 0 -A 0 -T a  -F '$SPRINGK' 
encode_pt_pos_in_Cd/springk
chadd -f 1 1 encode_pt_pos_in_Cd vx
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$VX' encode_pt_pos_in_Cd/vx
chadd -f 1 1 encode_pt_pos_in_Cd vy
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$VY' encode_pt_pos_in_Cd/vy
chadd -f 1 1 encode_pt_pos_in_Cd vz
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$VZ' encode_pt_pos_in_Cd/vz
chadd -f 1 1 encode_pt_pos_in_Cd upx
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$UPX' encode_pt_pos_in_Cd/upx
chadd -f 1 1 encode_pt_pos_in_Cd upy
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$UPY' encode_pt_pos_in_Cd/upy
chadd -f 1 1 encode_pt_pos_in_Cd upz
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$UPZ' encode_pt_pos_in_Cd/upz
chadd -f 1 1 encode_pt_pos_in_Cd pscale
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$PSCALE' 
encode_pt_pos_in_Cd/pscale
chblockend
opparm encode_pt_pos_in_Cd doclr ( on ) diff ( diffr diffg diffb )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -c 
off -e on -b off encode_pt_pos_in_Cd
opexprlanguage -s hscript encode_pt_pos_in_Cd

# Node animated_2 (Sop/xform)
opadd -n xform animated_2
oplocate -x 2.37431 -y -2.01815 animated_2
chblockbegin
chadd -f 1 1 animated_2 ty
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F 'sin($FF*33)' animated_2/ty
chblockend
opparm animated_2 t ( 0 ty 0 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -c 
off -e on -b off animated_2
opexprlanguage -s hscript animated_2

# Node transfer_Cd_to_lo_rez (Sop/attribtransfer)
opadd -n attribtransfer transfer_Cd_to_lo_rez
oplocate -x -1.2401 -y -4.45198 transfer_Cd_to_lo_rez
opparm transfer_Cd_to_lo_rez primitiveattribs ( off )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -c 
off -e on -b off transfer_Cd_to_lo_rez
opexprlanguage -s hscript transfer_Cd_to_lo_rez

# Node make_point_positions_value_of_Cd (Sop/point)
opadd -n point make_point_positions_value_of_Cd
oplocate -x -1.2401 -y -5.38893 make_point_positions_value_of_Cd
opparm make_point_positions_value_of_Cd  numcustom ( 1 )
chblockbegin
chadd -f 1 1 make_point_positions_value_of_Cd tx
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$CR' 
make_point_positions_value_of_Cd/tx
chadd -f 1 1 make_point_positions_value_of_Cd ty
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$CG' 
make_point_positions_value_of_Cd/ty
chadd -f 1 1 make_point_positions_value_of_Cd tz
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$CB' 
make_point_positions_value_of_Cd/tz
chadd -f 1 1 make_point_positions_value_of_Cd weight
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$WEIGHT' 
make_point_positions_value_of_Cd/weight
chadd -f 1 1 make_point_positions_value_of_Cd diffr
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$CR' 
make_point_positions_value_of_Cd/diffr
chadd -f 1 1 make_point_positions_value_of_Cd diffg
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$CG' 
make_point_positions_value_of_Cd/diffg
chadd -f 1 1 make_point_positions_value_of_Cd diffb
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$CB' 
make_point_positions_value_of_Cd/diffb
chadd -f 1 1 make_point_positions_value_of_Cd alpha
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$CA' 
make_point_positions_value_of_Cd/alpha
chadd -f 1 1 make_point_positions_value_of_Cd nx
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$NX' 
make_point_positions_value_of_Cd/nx
chadd -f 1 1 make_point_positions_value_of_Cd ny
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$NY' 
make_point_positions_value_of_Cd/ny
chadd -f 1 1 make_point_positions_value_of_Cd nz
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$NZ' 
make_point_positions_value_of_Cd/nz
chadd -f 1 1 make_point_positions_value_of_Cd mapu
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$MAPU' 
make_point_positions_value_of_Cd/mapu
chadd -f 1 1 make_point_positions_value_of_Cd mapv
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$MAPV' 
make_point_positions_value_of_Cd/mapv
chadd -f 1 1 make_point_positions_value_of_Cd mapw
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$MAPW' 
make_point_positions_value_of_Cd/mapw
chadd -f 1 1 make_point_positions_value_of_Cd tension
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$TENSION' 
make_point_positions_value_of_Cd/tension
chadd -f 1 1 make_point_positions_value_of_Cd springk
chkey -f 1 -v 30 -m 0 -a 0 -A 0 -T a  -F '$SPRINGK' 
make_point_positions_value_of_Cd/springk
chadd -f 1 1 make_point_positions_value_of_Cd vx
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$VX' 
make_point_positions_value_of_Cd/vx
chadd -f 1 1 make_point_positions_value_of_Cd vy
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$VY' 
make_point_positions_value_of_Cd/vy
chadd -f 1 1 make_point_positions_value_of_Cd vz
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$VZ' 
make_point_positions_value_of_Cd/vz
chadd -f 1 1 make_point_positions_value_of_Cd upx
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$UPX' 
make_point_positions_value_of_Cd/upx
chadd -f 1 1 make_point_positions_value_of_Cd upy
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$UPY' 
make_point_positions_value_of_Cd/upy
chadd -f 1 1 make_point_positions_value_of_Cd upz
chkey -f 1 -v 0 -m 0 -a 0 -A 0 -T a  -F '$UPZ' 
make_point_positions_value_of_Cd/upz
chadd -f 1 1 make_point_positions_value_of_Cd pscale
chkey -f 1 -v 1 -m 0 -a 0 -A 0 -T a  -F '$PSCALE' 
make_point_positions_value_of_Cd/pscale
chblockend
opparm make_point_positions_value_of_Cd t ( tx ty tz )
opset -d on -r on -h off -f off -y off -t off -l off -s off -u off -c off 
-e on -b off make_point_positions_value_of_Cd
opexprlanguage -s hscript make_point_positions_value_of_Cd

# Node ANIMATED_hi_rez (Sop/null)
opadd -n null ANIMATED_hi_rez
oplocate -x 2.46175 -y -3.00507 ANIMATED_hi_rez
opset -d off -r off -h off -f off -y off -t on -l off -s off -u off -c off 
-e on -b off ANIMATED_hi_rez
opexprlanguage -s hscript ANIMATED_hi_rez
oporder -e hi_rez_rest animate_1 lo_rez_rest encode_pt_pos_in_Cd 
animated_2 transfer_Cd_to_lo_rez make_point_positions_value_of_Cd 
ANIMATED_hi_rez 
opcf ..

opcf /obj
opcf geo1
opwire -n hi_rez_rest -0 animate_1
opwire -n hi_rez_rest -0 encode_pt_pos_in_Cd
opwire -n ANIMATED_hi_rez -1 encode_pt_pos_in_Cd
opwire -n animate_1 -0 animated_2
opwire -n lo_rez_rest -0 transfer_Cd_to_lo_rez
opwire -n encode_pt_pos_in_Cd -1 transfer_Cd_to_lo_rez
opwire -n transfer_Cd_to_lo_rez -0 make_point_positions_value_of_Cd
opwire -n animated_2 -0 ANIMATED_hi_rez
opcf ..
opcf $saved_path


--
Sean Lewkiw - Digital FX Supervisor
CIS Vancouver
50 West 2nd Avenue
Vancouver BC V5Y 1B3
P:  (604) 874-8700




From:   Sean.Lewkiw at cis-vancouver.com
To:     sidefx-houdini-list at sidefx.com
Date:   04/06/2010 10:36 AM
Subject:        Re: [Sidefx-houdini-list] change geometry w/out 
triangulating
Sent by:        sidefx-houdini-list-bounces at sidefx.com



Would it be difficult to build the same model from scratch or edit the 
existing one to add detail (or clean-up) for a single rest frame?

If you could do this, you can then take the fugly deforming model, store 
point positions in colour, transfer these point positions to your static 
fugly geo, then do an attribute transfer to your new clean geo, then 
finally use a point SOP to move your nice clean geo so that it matches the 

fugly geo's point position.

If that's not clear, I can send an example. 

Sean




--
Sean Lewkiw - Digital FX Supervisor
CIS Vancouver
50 West 2nd Avenue
Vancouver BC V5Y 1B3
P:  (604) 874-8700




From:
Erika Salatiello <tictacer at hotmail.com>
To:
user group <sidefx-houdini-list at sidefx.com>
Date:
04/05/2010 02:56 PM
Subject:
Re: [Sidefx-houdini-list] change geometry w/out triangulating
Sent by:
sidefx-houdini-list-bounces at sidefx.com




oh!  and I found the sop that allows division control by axis - it's the 
Divide SOP and choose the bricker option :D

> From: tictacer at hotmail.com
> To: sidefx-houdini-list at sidefx.com
> Date: Mon, 5 Apr 2010 21:51:46 +0000
> Subject: Re: [Sidefx-houdini-list] change geometry w/out triangulating
> 
> 
> 
> Thanks Ivan/Floyd - I was sitting there going damnit if this were nurbs 
it would be easier - lol - duh.  (Does it count that it was Monday here??)
> 
> I am using the cloth solvers to do plastic deformation stuff and the 
cloth tools are topology based so I need to be able to work with as clean 
and accurate a model as possible.  The original object had tons of edges 
in Y and only 2 in X  so I need to add detail in X and get rid of it in Y. 

 When I point consolidate it'll force triangulation instead of just 
grabbing the closest Y points and make a mess of the topology. 
> 
> I think converting it to nurbs will work well, and then just being 
patient for my proxy geo  :)
> 
> Floyd! How on earth is Japan?  And the bird?  hehe.  Mr Burns is back in 

SF with babysitters :(
> 
> 
> 
> > Date: Mon, 5 Apr 2010 12:16:49 +0300
> > From: eoyilmaz at gmail.com
> > To: sidefx-houdini-list at sidefx.com
> > Subject: Re: [Sidefx-houdini-list] change geometry w/out triangulating
> > 
> > Why do you want to keep quads, is there any particular reason for that 

?
> > 
> > E.Ozgur Yilmaz
> > Lead Technical Director
> > www.ozgurfx.com
> > 
> > 
> > On Mon, Apr 5, 2010 at 12:04 PM, Simon Barrick 
<simon at primalpictures.com>wrote:
> > 
> > > I'm not aware of any tool that will let you reduce poly counts 
without
> > > triangulation. You could do it manually by selecting and dissolving 
edge
> > > loops. You might also need the facet sops remove inline points to 
clean up
> > > before any further subdividing operations.
> > > Also never seen a subdivide operation that will let you choose the
> > > direction of subdivision. However if you have nice regular patches 
you can
> > > convert to meshes and do all manner of operations to increase or 
decrease
> > > the resolution in u and v.
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: sidefx-houdini-list-bounces at sidefx.com on behalf of Erika 
Salatiello
> > > Sent: Mon 05/04/2010 02:12
> > > To: user group
> > > Subject: [Sidefx-houdini-list] change geometry w/out triangulating
> > >
> > >
> > > I'm curious if anyone knows a good node or way to reduce and 
increase polys
> > > on geometry.
> > >
> > > The object I am working with is nice clean quads.  I DO NOT want to
> > > triangulate the shape.  I have more than enough polys in the Y 
direction and
> > > not enough in X.  I was surprised when I went to use the subdivide 
sop that
> > > it would only work on all the polys evenly and I couldn't choose to 
control
> > > the direction.  I think I am forgetting about another sop that does 
this?
> > >
> > > Also, for reducing geo, the polyreduce sop is not ideal since it's 
again
> > > working via triangulating and the facet sop (consolidate points 
etc.) seems
> > > to also be choosing to consolidate via triangulation.
> > >
> > > I am hoping to get some low rez proxy geos later this week from the
> > > modelers but any quick tips would be appreciated.
> > >
> > > Thanks,
> > > Erika
> > >
> > > _________________________________________________________________
> > > The New Busy is not the too busy. Combine all your e-mail accounts 
with
> > > Hotmail.
> > >
> > > 
http://www.windowslive.com/campaign/thenewbusy?tile=multiaccount&ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_4


> > > _______________________________________________
> > > Sidefx-houdini-list mailing list
> > > Sidefx-houdini-list at sidefx.com
> > > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> > >
> > >
> > > 
______________________________________________________________________
> > > This communication is from Primal Pictures Ltd., a company 
registered in
> > > England and Wales with registration No. 02622298 and registered 
office: 4th
> > > Floor, Tennyson House, 159-165 Great Portland Street, London, W1W 
5PA, UK.
> > > VAT registration No. 648874577.
> > >
> > > This e-mail is confidential and may be privileged. It may be read, 
copied
> > > and used only by the intended recipient. If you have received it in 
error,
> > > please contact the sender immediately by return e-mail or by 
telephoning
> > > +44(0)20 7637 1010. Please then delete the e-mail and do not 
disclose its
> > > contents to any person.
> > > This email has been scanned for Primal Pictures by the MessageLabs 
Email
> > > Security System.
> > > 
______________________________________________________________________
> > > _______________________________________________
> > > Sidefx-houdini-list mailing list
> > > Sidefx-houdini-list at sidefx.com
> > > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> > >
> > >
> > _______________________________________________
> > Sidefx-houdini-list mailing list
> > Sidefx-houdini-list at sidefx.com
> > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> 
> _________________________________________________________________
> The New Busy think 9 to 5 is a cute idea. Combine multiple calendars 
with Hotmail. 
> 
http://www.windowslive.com/campaign/thenewbusy?tile=multicalendar&ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_5


> _______________________________________________
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
 
_________________________________________________________________
The New Busy think 9 to 5 is a cute idea. Combine multiple calendars with 
Hotmail. 
http://www.windowslive.com/campaign/thenewbusy?tile=multicalendar&ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_5


_______________________________________________
Sidefx-houdini-list mailing list
Sidefx-houdini-list at sidefx.com
https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list


This e-mail and any attachments are intended only for use by the 
addressee(s) named herein and may contain confidential information. If you 

are not the intended recipient of this e-mail, you are hereby notified any 

dissemination, distribution or copying of this email and any attachments 
is strictly prohibited. If you receive this email in error, please 
immediately notify the sender by return email and permanently delete the 
original, any copy and any printout thereof. The integrity and security of 

e-mail cannot be guaranteed.


_______________________________________________
Sidefx-houdini-list mailing list
Sidefx-houdini-list at sidefx.com
https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list


This e-mail and any attachments are intended only for use by the 
addressee(s) named herein and may contain confidential information. If you 
are not the intended recipient of this e-mail, you are hereby notified any 
dissemination, distribution or copying of this email and any attachments 
is strictly prohibited. If you receive this email in error, please 
immediately notify the sender by return email and permanently delete the 
original, any copy and any printout thereof. The integrity and security of 
e-mail cannot be guaranteed.





More information about the Sidefx-houdini-list mailing list