Skocz do zawartości

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

Featured Replies

Napisano

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ć?

Edytowane przez Destroyer

  • Odpowiedzi 12
  • Wyświetleń 1,6k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

{
$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

Napisano
  • Autor

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! :)

Napisano

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 :)

Napisano
  • Autor

w ogóle nie użyłem $sel i nawet warunku if po prostu zmieniłem skryptem nazwy utworzonych nodów i odwołałem się do nazw :)

wszystko działa jak trzeba :)

thx again :)

Napisano
  • Autor

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ś :)

Napisano

jak to powiedział w jednym z wykładów Jason Schleifer:

"for god's sake, learn MEL" :)

Napisano

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!

Napisano

My Ciebie też nie, zwlaszcza ze jakbys byl w piatek to moze bym sie pojawil na szczelaniu bo ktos by troche wzial roboty z mych delikatnych plecoof :P

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.

Account

Navigation

Szukaj

Szukaj

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.