Maya
Jelentkezz be a hozzászóláshoz.
Ha a Maya füst meg nem jó,akkor mi a jó,ami van Mayához? FumeFX-rõl hallottam,h kijött,de sokat nem tudok róla, csak hogy boldog-boldogtalannak megvan Maxhoz.
+ Van vmi GPU gyorsítás Mayában?
Ha meg már itt vagyok: Vannak must have cuccok Mayához,amirõl nem tudok?
PL. az új modellezõs cuccok 2014ben nem tûnnek rossznak viszont a büdös életbe' nem hallottam a Nex toolsról. Hátha vannak még olyan dolgok, amikrõl nem tudok. Pluginok,scriptek, akármi . Righez,animhoz nem kell semmi, azt nem akarok. Nem jön be.
Meg még esetleg vmi ahhoz, ami leírja esetleg, hogy bizonyos anyagok eléréséhez milyen beállítás kell?
Mittudomén aranynak ekkora reflectionje van, meg ilyen specularja, a márványnak amolyan, krómot így kell csinálni.
\"One kills a man, one is an assassin; one kills millions, one is a conqueror; one kills everybody, one is a god.\" /Jean Rostand/
Arnoldban pedig, ha állítasz hdr képen értéket, akkor a shading networkot kiszámolja amit belekötöttél. Ha lassú a géped, akkor az megakasztja a maya-t. A display részen (vagy viewport vagy valami liyesmi), ezt a felbontást le lehet venni, és akkor gyorsabb lesz. De az 1-2 perc az tuti túlzás, még egy ilyen gyenge gépen is.
shaken, not stirred
\"One kills a man, one is an assassin; one kills millions, one is a conqueror; one kills everybody, one is a god.\" /Jean Rostand/
Jó volna olyan, ami minden rendermotorral megy, és van is ilyen. Úgy hívják lambert, blinn, meg phong. Csak ezzel nem úgy jön ki a linear work, ezt már én is tapasztaltam. Amíg nem próbálkoztam ezzel, addig tök jók voltak.
Már nekem is van galériám: wearwolfff.elementfx.com
def joinTraversalDFS(node):
print node
# process parent node
worldMatL = cmds.xform('%s'%node, q=True, ws=True, m=True)
worldMatM = om.MMatrix()
mUtil.createMatrixFromList(worldMatL, worldMatM)
mTransformMtx = om.MTransformationMatrix(worldMatM)
trans = mTransformMtx.getTranslation(om.MSpace.kWorld)
quat = mTransformMtx.rotation()
eulerRot = quat.asEulerRotation()
angles =
children = cmds.listRelatives( node, c=True )
if children:
# get bone height from first child
worldMatL = cmds.xform('%s'%children<0>0>, q=True, os=True, m=True)
halfDist = worldMatL<12>12>/2.0
# create default capsule at origin
boneName = 'bone_%s' % (node)
cmds.polyCylinder( n='%s'%boneName, r=1, h=worldMatL<12>12>-2, sx=16, sy=1, sz=4, rcp=True, ax=(1,0,0) )
cmds.makeIdentity( boneName, apply=True )
# place capsule at parent joint joint
cmds.setAttr('%s.translate'%boneName, trans.x, trans.y, trans.z, type="double3")
cmds.setAttr('%s.rotate'%boneName, angles<0>0>, angles<1>1>, angles<2>2>, type="double3")
# position capsule between the parent and child joint
cmds.xform(boneName, r=True, os=True, translation=(halfDist,0,0))
for jointIt in children:
joinTraversalDFS(jointIt)
Meghívni a root jointra, és akkor bekapszulázza a joint chaint - joinTraversalDFS('jointChainRoot')
My Life for Freedom!
De biztos ezt akarod csinálni? Nem jobb kötözgetni a dolgokat? Vagy constraineket használni?
shaken, not stirred
MDagPath segítségével lekérdem a forrás objektumról a MFnTransform mátrixot, megszerzem ebbõl a translate, rotate és scale értékeket és setAttr paranccsal beállítom a másik objektumra.
Esetleg transformation node-t nem lehet létrehozni MFnTransform-mal, és ezt beállítani egy másik objektumra, jóval elegánsabb lenne! :) Valami hasonlóra gondolok, mint amit alul ír a hozzászóló.
My Life for Freedom!
shaken, not stirred
Az, hogy most sok kicsi shader, vagy egy nagy... Ez örök vita. Az osl-es rendszereken kívül a sok kicsi shader mindig lassabb lesz mint egy jól megírt übershader. De a szokás az, hogy van egy übershader és abba van belekötözgetve pár kisebb graph. Ez ami megfelelõen rugalmas és kellõen gyors.
shaken, not stirred
Na erre gondoltam magamnak, az elsõ fele kész van.
Már nekem is van galériám: wearwolfff.elementfx.com
Értelme az lenne egy ilyen file node-nak, hogy nem csak egy rendermotort használok, hanem többet is. Ugyanazt a képet, többel is megnézem, és eldöntöm, melyikkel lesz jobb. Számomra egy átok, hogy minden egyes valamire való rendermotor, de saját shadert használ. Persze tudom, miért, de akkor is. Ilyenkor átkötözgetni mindent, újramaterialozni. Rengeteg idõ és macera. Ezért is örültem meg neki, mikor eszedbe ötlött, hogy meg lehet oldani a dolgot mia materiallal is.
Minden egyes color textúrához, betenni a gamma correctet számomra feleslegesítõen idegesítõ. Az egyszerûsítés híve vagyok, ami lehetne egy lépésben megoldani, akkor azt miért kelljen 3-ban vagy 10-ben. Ha egyre inkább elterjed ez a linear workflow, akkor miért nem vonják össze a két node-ot. És az attribute editorban a file tulajdonságok mellett ott virít a gamma correkció is. Ugyanúgy mûködik, mintha külön lenne, csak egyetlen node és nem kettõ van ott.
Igen, Arnoldban, lehet globálisan, de a többiben nem, vagy nem olyan jó, ahogy Peet mondja, tehát marad a per textúra. A default gammára a .454-et értem, vagy .453, kinek melyikkel szokta, egy ezred nem sok különbség.
A másik ilyen a mental ray lightportal. Csinálni egy area lightot, bekötni a light shaderbe a portalt. Mennyivel egyszerûbb lenne, egy olyan lámpa, ami eleve egy portal light. Nevezzük, mondjuk areaportalnak. Create areaportal, és megjelenik a viewportban egy piros arealámpa közepén egy P betûvel, hogy meg lehessen különböztetni, és nem kell kötözgetni bele light shadert, mert alapból tudja.
Azok most biztos, hülyének néznek, akik úgy vélik, hogy jobb, mindent atomjaira bontani, és akkor mindenki, azt kötözget össze, amit akar. Minden egyes szubrutint külön dll-ben elmenteni, hogy aztán újrafelhasználható legyen más programoknál, programozási szemlélet, és nem felhasználói.
Vagy legalább lenne egy node group, és akkor az attribute editorban együtt jelennek meg, egymás alatt az értékek. Bár, jobban belegondolva, asset-tel, lehet, hogy meg lehet csinálni. csak annak nem tudom milyen lenne az input output része.
Már nekem is van galériám: wearwolfff.elementfx.com
ha már python elõ jött, nekem is lenne egy kérdésem.
Ki milyen módszert használ maya scripteknél a mátrixokkal kapcsolatos mûveletekhez, illetve milyen módon kérdi le, és állítja be egy objektum transzformációs mátrixát?
Sima mel esetén nem nagyon találtam tiszta, egyszerû megoldásokat, python jóval kézenfekvõbbnek tûnik. Többféle képen is sikerült lekérdezni és dolgozni a mátrixszal, viszont sehogy se tudom ezt a mátrixot alkalmazni mondjuk más objektum térbeli pozíciójának beállításához.
legyen egy sima kocka, vhova bepozicionálva:
cmds.polyCube( n='myCube', ch=1, w=5, h=5, d=5, sx=1, sy=1, sz=1 )
cmds.setAttr('myCube.rotate', 0, 30, 45, type="double3")
cmds.setAttr('myCube.translate', 4, 5, 7, type="double3")
1) MScriptUtil-t használva:
mUtil = OpenMaya.MScriptUtil()
worldMatL = cmds.xform('myCube', q=True, ws=True, m=True)
worldMatM = om.MMatrix()
mUtil.createMatrixFromList(worldMatL, worldMatM)
2) MFnTransform
selList = om.MSelectionList()
selList.add('myCube')
mDagPath = om.MDagPath()
selList.getDagPath(0, mDagPath)
transformFunc = om.MFnTransform(mDagPath)
mTransformMtx = transformFunc.transformation()
Hogy tudnám beállítani a kapott, és mondjuk módosított új transzformációkat más objektumra rárakni?
Elsõ esetben xfrom-al kéne beállítani gondolom, de nem találtam meg a createMatrixFromList "inverzét", ami a belsõ reprezentációból visszaforgatja a 16 float tömbbe.
Második megoldásnál meg egy másik DagNode-ra kéne alkalmazni a dolgot.
My Life for Freedom!
Egy, pythonnal tudsz olyan node-t írni, ami ezt neked megcsinálja, de az a renderben nem fog látszódni. Mental Ray-hez, és Arnold-hoz külön shadert kell írni (V-Ray-t nem ismerem, de valszeg ahhoz is), hogy ezek rendertime is mûködjenek. Export time alatt esetleg tudnád módosítani az exportált hierarchiát, de ezt csak MtoA-ban tudod megcsinálni, mental ray és v-ray nem ad hozzáférést az exporterhez (vagy ha igen, akkor is csak macerásan). És ehhez persze c++-ra van szükséged nagyrészt.
Kettõ, használd a beépített gamma correct node-t, és expression-el meg tudod csinálni, hogy egy (vagy jelen esetben több) hozzáadott extra attribute tudja vezérelni a gamma attribútumot. Ez folyamatosan számolódik maya-ban, és ekkor nem kell a renderelõhöz írnod kiegészítéseket.
De pl ennek a node-nak az ötlete nekem furának tûnik, mit akarsz elérni vele? Pl arnold-ban van lehetõség gamma korrekciót használni központilag a nem float-os textúrákra. (gondolom mental ray-re és v-ray-re is igaz ez) A use default values pedig mire vonatkozik? A gamma korrekció értékére? (linear workflowhoz globálisan kell ezeket az értékeket meghatározni, érzésre rossz lesz per texture beállításokkal)
shaken, not stirred
persze a legjobb az lenne, ha a file node-nál állítható lenne, hogy milyen gamma korrekciót végezzen rajta, de a maya beépített gamma correction valamiért sose mûködött még jól...
Miért nem hívják a bajuszt szájöldöknek? :)
Volna egy érdekes kérdésem a témában:
Adva van két node. mondjuk a maya file és gammacorrect. Ezt a kettõt pythonnal össze lehet vonni? Értem azt, csinálni egy új file node-ot, amiben lenne egy checkbox, hogy use gamma correct. Egy másik checkbox, hogy use default values, vagy custom, amivel értékeket lehet adni..
Ez most csak egy ötlet, de számtalan ilyet tudnék kapásból felhozni. Meg lehet csinálni? Vagy szükség lenne az adott node(ok) forrására?
Már nekem is van galériám: wearwolfff.elementfx.com
Miért nem hívják a bajuszt szájöldöknek? :)
Már nekem is van galériám: wearwolfff.elementfx.com
A pluginek lekérdezésére :
pluginInfo -q -loaded mtoa;
ill
import maya.cmds as cmds
cmds.pluginInfo('mtoa', query=True, loaded=True)
Egy kis off(on)topic. E3 alkalmából a Digic ismét megmutatta mire képesek, mindegyik maya és arnold. A watch dogs a legjobb, a többi sem rossz azért. :)
Watch Dogs - http://www.youtube.com/watch?v=Q1DS3RAAofc
AC4 - http://www.youtube.com/watch?v=T4rLOcNCXek
AMD reklám - http://www.youtube.com/watch?v=MQcjEA3it90
shaken, not stirred
Meg olyasmi is kéne, amivel lekérdezem, hogy egy plugin be van-e töltve. Például a lámpák résznél, megjelenjenek az mr fények is, vagy csak a standard, meg ilyenek.
Már nekem is van galériám: wearwolfff.elementfx.com
\"One kills a man, one is an assassin; one kills millions, one is a conqueror; one kills everybody, one is a god.\" /Jean Rostand/
Miért nem hívják a bajuszt szájöldöknek? :)
Példa.
\"One kills a man, one is an assassin; one kills millions, one is a conqueror; one kills everybody, one is a god.\" /Jean Rostand/
Miért akarsz mel filet kódból megnyitni és átírni?
(erre van szükséged : http://download.autodesk.com/global/docs/maya2013/en_us/Commands/fopen.html meg a Related-ben megadott többi parancsra)
Ritkán van szükség tényleges forrásfájlok menet közbeni átírásáról (és ha tényleg szükség van rá, akkor szerintem a program tervezésével van probléma), ha meg kódot akarsz generálni on the fly, akkor eval / evalDeferred / evalEcho -ra lesz szükséged.
shaken, not stirred
kipróbáltam a fánál, hogy kiszedtem, a levelekrõl a transparency és diffuse alpha kötést, és betettem a cut_opacity-nek, de akkor a levél egyáltalán ott sem volt. Nem volt ott semmi, csak az ágak Pedig diffuse color be volt kötve.
sirpalee:
Momentán sosem tanultam programozást. Érdekelt ez a téma, hogy hogyan tudnék cd autostarot írni a lemezeimhez, és nekem azt mondta az info tanár, hogy legegyszerûbben úgy, ha leszedek egy browsercall programot bizonyos pc magazinról, és írjam meg html,ben, és majd a böngészõben elindul. Addott egy kis jegyzetet róla, és így kitanultam a html-t, ami ugye nem programnyelv, de jó kezdés, meghát mindenkinek tudni illik. De neki volt igaza, mert utána rámentem a php+sql-re, és ezzel megtanultam a programozási alapokat. Így, hogy ment a html+php egybõl megértettem mel-t, hogy mayázni kezdtem. Vannak foltok ott is, például nem tudom még, hogyan lehet mel filet, megnyitni, változtatni és menteni kódból.
Aztán próbálkoztam a pythonnal, feltettem, de egyszerûen nem ment a fejembe. Fogalmam sincs miért, de nem. Írni akartam pár gui programot, régi parancssoros cuccokhoz, és nem boldogultam vele, még sima c nyelvben sem. c#-ben, meg pillanat alatt összedobtam, egy egyszerû toolboxot. Meg egy start menüt magamnak felülre. Linux alatt mplayer tv tuner kezelés. Már a linq.xml kezelés is megy, és egy adatbázis progin ügyködök. Szóval azt hiszem nekem már csak ez lesz a nyelvem, ameddig annyira el nem mélyülök benne, hogy egykettõre megértsem a többit is.
Erre áll az agyam. Persze mikor hazaértem már nekem is bennem volt, hogy melben könnyebb lenne. Ötletem rengeteg van, hajjaj.... Mayához, meg máshoz is. A megvalósítás már más tészta lesz. Jelenleg a maya toolboxom render meg light részénél, ki van listázva az összes elérhetõ lámpa meg ikon, ezt is úgy kéne, ha le tudnám kérdezni, meyik render plugin aktív, és csak az ahhoz való cuccok látszanának.
Már nekem is van galériám: wearwolfff.elementfx.com
Solid Angle-nél vagyok, mi csináljuk az arnoldot.
shaken, not stirred
amúgy te hol dolgozol? gondolom akkor soft develop téren
Miért nem hívják a bajuszt szájöldöknek? :)
Amin én dolgozom (Maya to Arnold), ott a scriptek 99.5% python. (van pár mel script amit át kell írnunk a mayaból, és betöltéskor újrasourcelni - de ez megint mayas hülyeség miatt van) A csak python hozzáállással voltak gondok, fõleg UI részen, de ez leginkább a 2011nek volt köszönhetõ. Pl 0.22es verzióba raktam color temperature control-t a fényekre, azt egyszerûen rémálom volt megírni 2011-re és 2012+-ra, mert 2011 alatt az az attrFloatSliderGrp csak mel commandot volt hajlandó megenni, python-t nem. <#idiota>#idiota>
A másik jópofa dolog, hogy a maya-hoz már alapból adják a megfelelõ pyqt könyvtárakat, és közvetlen QT ui-t tudsz benne meghívni. Ami sokkal de sokkal jobb mint az alap maya-s ui. QT designerrel generált .ui filekat be tudsz húzni, és rá tudod akasztani a saját kódodat.
shaken, not stirred
Miért nem hívják a bajuszt szájöldöknek? :)
Amiért jobb a python mint a mel.
- Jobban átlátható, jobban szervezhetõ, modulárisabb és karbantarthatóbb kódot lehet benne írni. (ennek az üzleti értéke már alapban jobb mint a mel)
- Jobban együtt tud mûködni kismillió másik tool-al. (3d-ben a pipeline toolok 95% pythonban íródik)
- Nem csak scripteket, akár node-kat is írhatsz benne, mindkét területen egységes elérést biztosítva (api és script felület).
- Simán el tudom képzelni, hogy gyorsabb mint a mel. Fõleg a tárolóknál.
- Jobbak a fejlesztõi eszközök. (python kódot tudsz debuggolni rendesen vs-el pl maya-ban futtatva)
- Kismillió külsõ könyvtár létezik, amit egy pillanat alatt be lehet húzni maya alá.
- Van pymel, ami jobb mint a sima scriptes felület. (én spec nem használom - de ez más téma)
Épeszû ember mel-ben nem kezd új fejlesztést may alatt, legacy kódok karbantartásánál még kellhet a mel, de sehova máshova.
shaken, not stirred
Egyik, hogy a C++ is régi, mégis használják a mai napig, másik meg, hogy pythonnal valami MEL-t helyettesítõ dolgot akarsz csinálni, akkor rohadtul a MEL parancsokat fogod ott is használni, csak python spéci deklarációval, szintaktikával, de a parancsok ugyanazok, és le merem fogadni, hogy a háttérben ugyanaz a kód fut le, amit a MEL is meghív, tehát nem igen látom, hogy mi elõnye lenne a pythonnak, hacsaknem az API, mert ugye evvel azt is lehet...
Miért nem hívják a bajuszt szájöldöknek? :)
Wollf, a külsõ program használata felejtõs, mert nem csak ma filek léteznek ám. :)
shaken, not stirred
sõt, mel sokkal jobb erre, pár for ciklussal megoldható szerintem, nem egy bonyolult dolog.
Miért nem hívják a bajuszt szájöldöknek? :)
amúgy a ray depth settingsnél érdemes õket felhúzni maxokra, a max raydepthel tudsz játszani, hogy limitálj, illetve shadereknél (fõleg refraction) is van egy korlátozó, amivel szintén elejét tudod venni a felesleges kalkulációknak.
Miért nem hívják a bajuszt szájöldöknek? :)
Én meg már egy olyan programon töprengtem, ami megnyitja a "scene.ma"-t létrehozza az összes ai-standardet (mia_valami ->ai_valami), bekötötögeti a textúrákat, rádobja a materialt a modellre. ibl-bõl csinál arnold sky/backgroundot meg ilyenek. sun/sky-ból hasonlóképp. Kitörli a mia_materialokat, meg minden mr cuccot, és egy másik scene file-ba elmenti.
Azt még c#-ben is meg tudnám írni (jelenlegi szintemen jó pár év alatt :D ), tekintve, hogy az ma, az szövegfile.
Ezt az átalakítóst meg lehetne csinálni az összes saját materialos rendermotorhoz.
Már nekem is van galériám: wearwolfff.elementfx.com
Amúgy a ray beállítás nem 8:4:4 volt, hanem 4:4:8, csak elírtam. De a shadow depth-tet kellett növelni. És így már jó.
De +1perc lett a render. Kipróbálom majd a cutoutot is.
Már nekem is van galériám: wearwolfff.elementfx.com
radeonok nem is vészesen drágák
mindegy ettõl függetlenül más progik annyira nem támogatják az atit, lehet hogy csak egyelõre... nvidia tapasztalatom szerint amúgy stabilabb, bár nem rosszak a radeonok sem..
Miért nem hívják a bajuszt szájöldöknek? :)
\"One kills a man, one is an assassin; one kills millions, one is a conqueror; one kills everybody, one is a god.\" /Jean Rostand/
jó az irány, csak így tovább:) legyen szép részletes hipoly:D
Whysper, cuda támogató kártya nem azért kell mert drágább és lassabb, hanem azért, mert nagyon sok mindent openCl támogatásra még nem írtak meg, cuda-ra viszont igen. Pl mayaban szimulációk GPU gyorsítása (ruha, soft és rigid body, dmm asszem, ebben nem vagyok biztos, fluid és particle)
mayan kívül pl textúrázásra istenkirály mari, cuda nélkül el se indul, premiere mercury szintént cuda alapú...
sajnos az nvidia támogatottabb, hiába csinál erõsebb kártyákat az ati/amd
Miért nem hívják a bajuszt szájöldöknek? :)
Miért nem hívják a bajuszt szájöldöknek? :)
Amúgy, igen, persze. Amíg kezdõ vagy (1-2 év), addig ez bõven elég. Esetleg az AMD videókarit dobd ki és vegyél helyette NVidia-t, megspórol némi fejfájást hosszútávon.
shaken, not stirred
Ezzel a géppel rendelkezem.:
Gigabyte GA-990XA-UD3/AMD
FX 8120 (4,2 Ghz)/alpenfohn Broken
XFX 550w P1–550S–UKB9
OCZ agility 3 120Gb
8GB (2x4GB) Corsair Vengeance Blue
VTX3D 6850 X edition 1 Gb
ASUS XONAR DG
Szeptembertõl kezdem a sulit ahol Maya programot igyekszem magamévá tenni. Kérdésem ,hogy ez a config elég lesz a Mayaval való munkálatokhoz?
0.25-ös (a 0.24 release branch-ja holnap indul, szóval abba feature már nem lesz) maya to arnoldba belepattintunk egy konverter scriptet, ami lecseréli majd a mia_material gányságokat aiStandardra.
shaken, not stirred
csak a cutout opacity-t kell alul az advanced lenyílóban van.
arnold istenkirály...:D
Miért nem hívják a bajuszt szájöldöknek? :)