Shrinkwrap things in maya (eg..low poly to high poly mesh)
select object to wrap around and object that is wrapping. Transfer attributes, select vertex position, and set search to closest along normal..
Remember you can paint attributes in maya...
Monday, 10 November 2014
Wednesday, 17 September 2014
emit softbody
stolen from cgtalk, as always..
1. Create a soft body:
A. for creation methodselect "duplicate,make orig soft"
B. Hide non soft Object
C. Make non soft a goal with a goal weight of like .75
2. in the outliner select the particleShape node, which should now be the child of your soft body object.
3. in the particle's attribute editor take note of the "Count" found in the "General Control Attrinutes" tab, and replace the "-1" in the "Max Count" attribute (emission attributes tab of the particle) with the noted "Count" value.
4. under the softbody tab of the particle's attributes, uncheck enforce Count From History
5. set the particle's lifespan to "constant" '0', play a few frames; and go to solver/set initial state
6. set the lifespan back to "live forever"
7. create a new omni emitter, and delete the particle that comes with it.
8. With the particleShape selected, dive in to the dynamic relationship editor (Window/Relationship editors/ Dynamic relationships). Choose "emitters" in the upper right side, and highlight your newly created omni emitter.
9. Just adjust the emission rate in the emitter to be high enough to smoothly form your shape, and make sure there is a large enough frame range as well.
1. Create a soft body:
A. for creation methodselect "duplicate,make orig soft"
B. Hide non soft Object
C. Make non soft a goal with a goal weight of like .75
2. in the outliner select the particleShape node, which should now be the child of your soft body object.
3. in the particle's attribute editor take note of the "Count" found in the "General Control Attrinutes" tab, and replace the "-1" in the "Max Count" attribute (emission attributes tab of the particle) with the noted "Count" value.
4. under the softbody tab of the particle's attributes, uncheck enforce Count From History
5. set the particle's lifespan to "constant" '0', play a few frames; and go to solver/set initial state
6. set the lifespan back to "live forever"
7. create a new omni emitter, and delete the particle that comes with it.
8. With the particleShape selected, dive in to the dynamic relationship editor (Window/Relationship editors/ Dynamic relationships). Choose "emitters" in the upper right side, and highlight your newly created omni emitter.
9. Just adjust the emission rate in the emitter to be high enough to smoothly form your shape, and make sure there is a large enough frame range as well.
Friday, 12 September 2014
quick nhair setup
nhair, based on the old digital tutors tutorial..
create curves, anywhich way. apply a brush to one curve, establish a good flat shape & width.
use "get settings from current" to set the new brush, then apply to the rest of the curves.
Adjust shapes a bit more...convert strokes to nurb surfaces. Extract U or V (whatever is going along the hair direction) surface curves.
Make a single poly face and create a hair system.
Now select all the curves and apply the hair system to them. Done did.
create curves, anywhich way. apply a brush to one curve, establish a good flat shape & width.
use "get settings from current" to set the new brush, then apply to the rest of the curves.
Adjust shapes a bit more...convert strokes to nurb surfaces. Extract U or V (whatever is going along the hair direction) surface curves.
Make a single poly face and create a hair system.
Now select all the curves and apply the hair system to them. Done did.
Friday, 29 August 2014
ZBrush shit
zbrush notes depository
alt l-click pans, let go of alt and you zoom
transpose can be used to generate masks.. ctrl click from the edge of object, inwards toward the centre..
hit alt and drag the middle transpose circle for a curve transform
more masking/isolation - ctrl+shift clicking isolates a polygroup (seems easiest to auto polygroup when things aren't working as you'd expect). If you then click and drag (with c+s held) the inverse isolation will be displayed. You can then ctrl+shift click on other polygroups/objects to be added to the hidden objects (c+s+drag click to invert again). Combining this with normal ctrl-click masking and inverting is an "efficient" way to move things/isolate specific bits in zbrush...
boolean (subtractive) A- B (dynamesh)
alt l-click pans, let go of alt and you zoom
transpose can be used to generate masks.. ctrl click from the edge of object, inwards toward the centre..
hit alt and drag the middle transpose circle for a curve transform
more masking/isolation - ctrl+shift clicking isolates a polygroup (seems easiest to auto polygroup when things aren't working as you'd expect). If you then click and drag (with c+s held) the inverse isolation will be displayed. You can then ctrl+shift click on other polygroups/objects to be added to the hidden objects (c+s+drag click to invert again). Combining this with normal ctrl-click masking and inverting is an "efficient" way to move things/isolate specific bits in zbrush...
boolean (subtractive) A- B (dynamesh)
- have subTool A and B set to Dynamesh. A should be above B
- subTool B should be set to difference (the Venn diagram style icon)
- In polygroups for subTool B, select group as Dynamesh Sub
- Merge down,
- Finally Ctrl-click somewhere in the document to force Dynamesh to refresh and the boolean should be complete.
To perform the same without using dynamesh, set the venn diagram bits appropriately and hit remesh.. I find ticking off the xyz options on this button makes it work as you expect. Results aren't as nice as the dynamesh version..
using the move tool with the Brushes>Curve>Accucurve option toggled is a nice way to pull out spiky points
using the move tool with the Brushes>Curve>Accucurve option toggled is a nice way to pull out spiky points
Wednesday, 4 June 2014
vray buffer off screen
Vray Render Frame Buffer going missing
As I usually jump between 1 monitor setups and 2 monitor setups. This always happens. The dang Vray frame buffer goes missing. This seems to solve it, but I have only tested it once today.
1) Open the scene;
2) Before any rendering is done (this is important!) open the script editor and type this MEL command:
setAttr "vraySettings.vfbSettingsArr" -type Int32Array 0;
1) Open the scene;
2) Before any rendering is done (this is important!) open the script editor and type this MEL command:
setAttr "vraySettings.vfbSettingsArr" -type Int32Array 0;
stolen from somewhere........
Monday, 24 March 2014
soup - bounding object, geo volume
SOUP (Peter Shipkov) - how to use an object to select points/faces/edges by volume
- get selection object, make scatter points within (remember to connect world matrix to in matrix)
-setup group/bounding object as usual
-set bounding object to "geometry"
- use a points to mesh node on scatter, connect that into bounding object as mesh
ta da!
- get selection object, make scatter points within (remember to connect world matrix to in matrix)
-setup group/bounding object as usual
-set bounding object to "geometry"
- use a points to mesh node on scatter, connect that into bounding object as mesh
ta da!
Tuesday, 18 March 2014
Transfer UVs after rigging
Transferring UVs AFTER rigging....
This is a tough one, but here's the HACK. Lets say you've rigged up your amazing character and realize OH, I have to make a bunch of UV changes. You copy out your character's head, UV it up nicely, bring it back in and use the "transfer attributes" from your copied head to the rigged one.
No deal. It's because your transfer attributes input comes after rigging and all UV inputs have to come before rigging. Same as in Ncloth.
I don't understand why Autodesk doesn't put in a "before deformers" option or something similar to how you can insert blendshapes at certain parts of a deformer chain.
ANYWAY
Every object has a "shape orig" node which represents what an object was before it was deformed. We can apply a UV transfer to this no problem which will also transfer up the stack to your rigged object.
I access it like this
1. Select your rigged object, in the hypergraph hit options/display/ hidden nodes & shape nodes
2. You'll see a hidden node which is your Orig node, or what your object was before rigging.
3. In the orig node's attribute editor under object display, uncheck 'intermediate object'
4. Your Orig node is now accessible.
5. Apply your UV transfer attributes to it - then delete it's history.
There you go - you've applied your transfer to your object via it's history object. Maya sees it that you performed this operation before rigging. Now why Autodesk hasn't made a tool for this....who knows.
Straight up stolen from http://animbiz.blogspot.co.uk/2010/02/transferring-uvs-after-rigging.html
script by Zeth Willie!
//zbw_cleanTransferUV
//by Zeth Willie
//install in scripts folder and run "zbw_cleanTransferUV"
//select object w/ uv's then object to be transferred to then run
//zeth@catbuks.com
global proc zbw_cleanTransferUV()
{
string $sel[] = `ls -l -sl`;
int $sizeSel = size($sel);
if ($sizeSel != 2){
error "hey. 2 objects. Select source then target";
}
string $source = $sel[0];
string $target = $sel[1];
print ($source+"\n");
print ($target + "\n");
//try to do it by just reading SECOND shape node (first is shape, then ORIG, then other shape)
string $targetShapes[] = `listRelatives -f -s $target`;
string $targetOrig = $targetShapes[1];
//dummy check that this is orig object (is it intermediate? does it contain "orig"?)
if ((`getAttr ($targetOrig+".intermediateObject")`) && (endsWith ($targetOrig, "Orig"))){
//turn off intermediate object setting on orig
setAttr ($targetOrig + ".intermediateObject") 0;
//transfer uv's to "orig" shape of target
select -r $source;
select -add $targetOrig;
transferAttributes -pos 0 -nml 0 -uvs 2 -col 2 -spa 4 -suv "map1" -tuv "map1" -sm 3 -fuv 0 -clb 1;
select -cl;
//delete history on target orig then turn back on intermediate object attr
delete -ch $targetOrig;
setAttr ($targetOrig + ".intermediateObject") 1;
}
else {
error "couldn't find the orig shape of the target object. make sure it's a bound/deformed thing";
}
}
zbw_cleanTransferUV;
Subscribe to:
Posts (Atom)