Jump to content

[MEL] Szybkie autowatyczne tworzenie połączeń między 2dPlacementNode a File node?


Destroyer

Recommended Posts

Hej

Tak jak w tytule, czy da się jakoś z mel-a szybko połączyć 2dplacement node do file node tak jak robiąc to ręcznie wybiera się default i tworzy się z 10 połączeń?

czy trzeba ręcznie wszystkie połączenie wstukiwać?

Edited by Destroyer
Link to comment
Share on other sites

  • Replies 12
  • Created
  • Last Reply

Top Posters In This Topic

{
$plugs = {".coverage", ".translateFrame", ".rotateFrame", ".mirrorU", ".mirrorV", ".stagger", ".wrapU", ".wrapV", ".repeatUV", ".offset", ".rotateUV", ".noiseUV", ".vertexUvOne", ".vertexUvTwo", ".vertexUvThree", ".vertexCameraOne", ".outUV", ".outUvFilterSize"};

$sel = `ls -sl`;

if (size($sel) != 2){
error("select 2 nodes");
} else {
for ($p in $plugs){
	if ($p == ".outUV"){
		connectAttr -f ($sel[0] + $p) ($sel[1] + ".uvCoord");
	} else if ($p == ".outUvFilterSize"){
		connectAttr -f ($sel[0] + $p) ($sel[1] + ".uvFilterSize");
	} else {
		connectAttr -f ($sel[0] + $p) ($sel[1] + $p);
	}
}
}

}

 

Prosie.

 

zaznaczasz 2dtexturecośtam i potem file node i odpalasz skrypta

  • Like 1
Link to comment
Share on other sites

aa to taka pętla :)

jutro sprawdzę w boju jak to będzie działać

generalnie to w założeniu ma to być automatyczne tworzenie nodów i łączenie ich więc ich zaznaczanie nie wchodzi w grę :) ale to już sam rozpracuję jak to zrobić :)

 

dzięki za pomoc! :)

Link to comment
Share on other sites

zamiast $sel = `ls -sl`;

napisz:

 

string $sel[];
$sel[0] = `createNode 2dTexturePlacement`;
$sel[1] = `createNode fileNode`;

 

i też powinno zadziałać chociaż piszę "z bani" więc mogły mi się pomylić nazwy nodów. Jest też możliwosć że jak tworzysz fileNode to on automatycznie tworzy 2dTexturePlacement. Good luck trying :)

Link to comment
Share on other sites

wiem, że Twój sposób jest dużo bardziej elegancki ale moj jest dla mnie bardziej zrozumiały :D wcześniej na samym początku i tak miałem wszystko napisane w taki sposób :)

 

connectAttr -force uvTextureMap2dPlacement.coverage uvTextureMap.coverage;

connectAttr -force uvTextureMap2dPlacement.outUvFilterSize uvTextureMap.uvFilterSize;

connectAttr -force uvTextureMap2dPlacement.outUV uvTextureMap.uvCoord;

connectAttr -force uvTextureMap2dPlacement.vertexCameraOne uvTextureMap.vertexCameraOne;

connectAttr -force uvTextureMap2dPlacement.vertexUvThree uvTextureMap.vertexUvThree;

connectAttr -force uvTextureMap2dPlacement.vertexUvTwo uvTextureMap.vertexUvTwo;

connectAttr -force uvTextureMap2dPlacement.vertexUvOne uvTextureMap.vertexUvOne;

connectAttr -force uvTextureMap2dPlacement.noiseUV uvTextureMap.noiseUV;

connectAttr -force uvTextureMap2dPlacement.rotateUV uvTextureMap.rotateUV;

connectAttr -force uvTextureMap2dPlacement.offset uvTextureMap.offset;

connectAttr -force uvTextureMap2dPlacement.repeatUV uvTextureMap.repeatUV;

connectAttr -force uvTextureMap2dPlacement.wrapV uvTextureMap.wrapV;

connectAttr -force uvTextureMap2dPlacement.wrapU uvTextureMap.wrapU;

connectAttr -force uvTextureMap2dPlacement.stagger uvTextureMap.stagger;

connectAttr -force uvTextureMap2dPlacement.mirrorV uvTextureMap.mirrorV;

connectAttr -force uvTextureMap2dPlacement.mirrorU uvTextureMap.mirrorU;

 

:D

 

a do tego do czego go uzyłem jest more than enought :)

 

choć Twoja wersja nie jest dla mnie taka "trudna" i pewnie przyda mi się na zaś :)

Link to comment
Share on other sites

az milo sie patrzy na kod jaki zaprezentowal na tym prostym przykladzie kroopson :) miooodzio, po prostu wielki szacun za dbalosc o efektywne wykorzystanie zasobow i skalowalność projektu!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy