32214
Maya
-
#31533 mert mindkét irányból görbítesz. csak a fenti részt kell görbíteni, és lehúzni az aljába a görbét -
#31532 Köszönöm a segítséget!
Eddig jutottam: kép
Nem rossz, de valahogy nem az igazi. Nem tudom eltalálni a jó beállításokat. -
Midas #31531 Ezzel en is igy vagyok sajnos nem is tudom mikor inditottam el kb utoljara :) -
#31530 attól függően hogy miben akarod megcsinálni (poly vagy nurbs). mivel én anno polyval dolgoztam, így abban írom le hogy csinálnám.
Szóval alapvetően két lépésben. Az elsőben nurbs vonalból csinálnék egy vezetővonalat magának a spirálcsőnek, amin végigextrudálnék egy hengert hogy felvegye a formáját (vagy még inkább az egészet nurbs-ben csinálnám és konvertálnám majd poly-vá). Ez azért előnyös mert könnyebb tágítani-szűkíteni a hézagokat így, mint a vertexek kijelölésével.
második körben, még mielőtt megszűntetném a kapcsolatot a vonal és az akörül extrudált felület között, a felületre vagy a vonalra rátennék még egy bend modifiert (ez az animation alatt van a deformerek alatt). Ezzel tudsz elgörbíteni komplex felületeket.
de már régen volt, biztos vannak jobb módszerek is már azóta, a többiek majd írnak. azért nézd meg ezt az animation->create deformers->nonlinear->bend-et -
#31529 Köszi :)
Más...
Szeretnék curve-re spirált rajzolni. Vvalami hasonló végeredményre vágynék: kép
Tudna valaki segíteni?
A spirált megtudom csinálni, csak nem tudom "irányba" tenni :)
Előre is köszönöm! -
#31528 Egy bankok számára fejlesztő cégnél (IND Group) vagyok mobilalkalmazás-fejlesztő (iOS platformon, tehát iPhone-okra és iPadokra programozok) valamivel több mint 1,5 éve. A cégen belül az IND Labs alá tartozok, ami egyfajta kutatás-demofejlesztés részleg, tehát nem az éles appokat írom amit majd használnak a felhasználók, hanem prototípusokat, demókat, amiket egyrészt a banki megrendelőknek, vezérigazgatóknak mutogatnak, másrészt lehet tesztelni rajtuk az elképzeléseket és ötleteket mielőtt a termékfejlesztők el nem kezdik programozni az éleset. De legalább nem unalmas, nincs nagyon 2-4 hónapnál hosszabb projektünk.
A legújabb projektben már egyfajta architekt vagyok, ami azt jelenti hogy az alkalmazás felépítésének a tervezése 0-ról az én feladatom, és a többiek az én általam fejlesztett keretrendszerre, annak komponenseire, funkcionalitására hagyatkoznak, amikor fejlesztik az alkalmazást. Ezt úgy kell elképzelni hogy én csinálom meg a navigációt, adatkezelést, adattárolást, alapvető animációkat, stb, a többiek pedig létrehozzák magát a tartalmat, feltöltik adatokkal, létrehozzák a képernyőket amik között navigálni kell, stb... -
#31527 mit dolgozol, ha szabad kérdeznem? :) -
#31526 kb ugyanaz, olyannyira hogy kb egy-másfél éve szinte a maya-t sincs időm elindítani (sőt nem csak szinte)
azért jó, szeretem a munkám :) -
Midas #31525 Minden cool lehet dolgozni ejjel nappal :D Nallad? -
#31524 Gondoltam beköszönök :)
Ki hogy van? Mizu? -
Old PS Fanboy #31523 Köszi megpróbálom. -
sirpalee #31522 1. Biztos jól van telepítve? Az autodesk compatibility guide szerint működik a 2013.
2. Ugye nem olyan mappába akarsz menteni amiben idióta karakter van? Próbálj meg olyan mappába menteni ami nem tartalmaz nem ascii karaktereket.
3. Frissíts 2014-re, esetleg ez javítva lett.
4. Rakj fel win 7-et.
A hiba amúgy unicode / ascii konvertálási probléma, első ránézésre a 2-es lesz a te gondod. (hülye karakterek a usernévben pl) -
Old PS Fanboy #31521 -
Old PS Fanboy #31520 Sziasztok.
Az a problémám, hogy Maya 2013 64bit-ben, win8 x64 alatt, nem enged menteni.
Semmit sem enged elmenteni még egy gömböt vagy kockát sem, mi lehet a gond? -
MasterMason #31519 Kicsit talán steril, akár boncolni is lehetne rajta. :D
A másik az, hogy balesetveszélyes. Ugye ha megnézed a tükröződésekből kapásból látni, hogy a fedőlapok igencsak gömbölydedek. Ezzel pedig az a baj, hogy elég egy rossz mozdulat a fakanállal, és a 170 fokos pörköltöt vagy húslevest nagyon könnyen a derekadra tálalhatod.
Az egész főzőlap kialakítása olyan, hogy nagyon könnyen megbillenhet, másrészt pedig ha már billen, akkor a csapot éleknek és a magasított lapnak köszönhetően egy jó 20%-os dőlés biztosítja a beutalót a Szent István Kórház égési osztályára. -
sirpalee #31518 Ami még kimaradt az előzőből. Ha 3d-zni akarsz mostanában, akkor legyen egy átlag nvidia gamer kártya (vagy olcsó quadro), mellé erős cpu (intel!) és sok-sok ram. Mire a 3d cuccok is rendesen támogatják a mindenféle elvadult architektúrákat, addigra már úgyis új gépet kell venned, mert az előbb emlegetett lassú lesz. :) -
sirpalee #31517 Max pár szimulációs eszköz fut gpu-n, azok is gyakran fagyogatva. A renderelőknél még mindig a CPU az elsődleges, egy nagyon limitáltan elterjedt architektúra miatt senki sem fog egy külön változatot készíteni az enginejéből. (értem itt a 3 nagyra, prman - arnold - v-ray)
Vannak gpu-s renderelők, de azok alkalmatlanok komolyabb scenek renderelésére, vagy pedig annyira lassúak, hogy egy jobb cpu-s renderelő köröket ver rájuk. (architektúra limitációk miatt)
Ha elterjed egy új technológia, akkor legalább 2-3-4 évet kell várni míg a rendes magban is megjelenik annak a használata, egyrészt a piaci elterjedtség miatt (elenyésző százaléknál nem éri meg foglalkozni vele), másrészt meg az új technológiákhoz általában újra kell írni a renderelő magot. (ami meg iszonyú erő / pénz) -
#31516 Sziasztok!
Rajzoltam egy konyhapultot és szeretném megosztani veletek...építőjellegű kiritikák jöhetnek :)
(nincsen még kész...csak elindultam egy irányba)
1920px -
#31515 K,köszi. Gépet meg akarnám fejleszteni, de nem csak erre,hanem jó lenne játékra is,csak beszólnak a konzolok az APUikkal. Várni akarok,megnézni milyen lesz a Kaveri, merthogy az lesz az 1. APU,ami a konzolokén alapul, viszont a játékok arrafele haladnak, hogy inkább GPU intenzívek lesznek, viszont itt meg még elég sok CPU intenzív cucc van. Tehát most nem tudom mi legyen, mert a Kaverinél biztos nem a CPU erőre fognak koncentrálni, hanem a beépített GPU integrációjára, az meg kéne majd a jövőbeli játékokhoz is, viszont a 3d-s cuccok is azon számolódnának. -
sirpalee #31514 FumeFX for maya nagyságrendekkel jobb mint a beépített maya füst. Annál minden jobb. :) (bár akkor már houdini, ott is szuper dolgokat lehet csinálni) Persze attól is függ milyen füstöket akarsz renderelni, milyen minőséggel, de arra készülj fel, hogy normális minőséget / felbontás ennyi ramból nem jön ki. (ha mégis akkor eszméletlen lassan)
GPU gyorsítás nincs maya-ban. Vannak külső toolok amik tudják (pl FumeFX ablaka is gpu gyorsított, már ha éppen nem fagyasztja szét a drivered - vagy a physx plugin is), de nem jellemző. Max találsz olyan renderelőt aminek van maya-s pluginje...
Személyszerint nem modellezek, de több mayaban dolgozó modellező ismerős / volt kollega örült a NEX-nek.
Anyagok beállításához, keress rá tutorialokra. De ez már renderelőfüggő. -
#31513 Hát jó,nem számoltam másodpercre pontosan, de ahhoz elég volt, hogy egy értékváltoztatáshoz képest elérje azt, hogy elindítsak egy böngészőt és netezgessek,míg ő gondolkodik. 1 perc tuti volt. Ha nem 2.
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. -
sirpalee #31512 Milyen számolást indítasz a viewportban? Szimulációt? Az még szép, hogy ilyen gyenge gépen (értsd nem 3d munkára összerakott) sokáig tart. Gondolom a tutorial jóval erősebb géppel számolt, és kész. A maya füst sosem volt jó, vagy gyors, vagy szép. :)
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. -
#31511 Mi okozza azt, hogy Arnoldban, ha betöltök egy HDR fájlt, renderelk, exposure, intensity értéket állítok és MINDEN esetben ezek közül, beszarik az egész program 1-2 percre,mielőtt újra használhatom. A füst is kurva lassú. Elindítom viewportban a cuccot hadd számolja, és a tutorhoz képest,ami alapján csináltam 5-7X lassabb framenként. A tutor 3 éves kb, a gépem meg 5. E8200 proci, meg 2Gb DDR2 ram. Melyik fogja vissza jobban? -
#31510 És mit értetek übershader alatt? Ez most teljesen új fogalom volt nekem. Totál nem vagyok képben az ilyesmikben. Ez valami cgfx megoldás, vagy mi a túró? Azok meg nem videokari függők? Az én gépem még annyira sem jó, hogy a viewport 2 elinduljon, szóval kilőve az ilyesmi jelen pillanatban. De totál nem értem, mit mondasz.
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.
-
#31509 Na az indentálást kilőtte a fórum, bocs. -
#31508 Nah, elkészült, berakom ide alulra, hátha van egy kettő észrevételed. Kapszulákat rak a függvény a jointok közé. Amit próbáltam kérdezni, hogy ha megvan egy mátrix, azt ráállítani egy másik objektum transzformációjaként. Ahogy olvastam worldMatrixet nem lehet kötözgetni, translatian, rotation, scale az ellenben megy.
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 = [math.degrees(angle) for angle in (eulerRot.x, eulerRot.y, eulerRot.z)]
children = cmds.listRelatives( node, c=True )
if children:
# get bone height from first child
worldMatL = cmds.xform('%s'%children[0], q=True, os=True, m=True)
halfDist = worldMatL[12]/2.0
# create default capsule at origin
boneName = 'bone_%s' % (node)
cmds.polyCylinder( n='%s'%boneName, r=1, h=worldMatL[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], angles[1], angles[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') -
sirpalee #31507 Elég lekérdezni a mátrixot, és azt beállítani, felesleges komponensekre bontani.
De biztos ezt akarod csinálni? Nem jobb kötözgetni a dolgokat? Vagy constraineket használni? -
#31506 Köszi, sikerült megoldani.
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ó. -
sirpalee #31505 Transzformációk kezelésére, állítására, számítására MTransformMatrix (vagy MFnTransform). A scene beli elemek bözgetésére MDagPath, MSelectionList, MItDag (vigyázat, lassú... jobb manuálisan traverselni a scenet) és MFnTransform. -
sirpalee #31504 Csinálj egy shadert (vagy többet), ami közös a rendermotorok között, ha sima node-kat kezdesz összekötözgetni akkor az előbb utóbb szétesik a különböző programok között. Így meg tudsz saját linear workflowot megvalósítani benne.
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. -
#31503 Nekem most olyan van(lesz, nincs teljesen kész), hogy kijelölöm a vieportban ami akarok, rábökök a material ikonjára, akkor létrehozza, és rádobja. Aztán felugrik egy ablak, amiben be lehet kötni az összes textúra elérését és lesz mellette egy check, hogy akarok-e gamma correkciót, ha akarok, akkor azt is létrehozza és beköti. Meg az összes megadott textúrát.
Na erre gondoltam magamnak, az első fele kész van. -
#31502 Jelenleg is per textúra van.
É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.
-
#31501 Sziasztok,
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. -
sirpalee #31500 Ezt nem tudod csak pythonban megoldani.
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) -
#31499 én olyat csináltam mel-ben, hogy amikor új shadert hozok létre, akkor automatikusan létrehozza a gamma correct node-ot beállítva a megfelelő értékre, amihez vagy egy ramp vagy egy file van hozzákötve.
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... -
#31498 Na elkezdtem pythonozni. A GUI-t már sikerült megcsinálni, és azt hiszem kezdem megérteni a dolgot. Alap tekintetében sokban különbözik a meltől.
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? -
#31497 ránéztem erre a pymel-re, hát érdekes, kicsit olyan objektum orientáltnak tűnik, abban meg aztán végképp nem vagyok járatos sajnos, pedig kéne... -
#31496 Kösz. Hát lehet, hogy akkor tényleg ez lesz. És inkább xml részemről átláthatóbb.. Most vettem észre a minap, hogy az a pymel már benne van a 2011-ben, de azért leszedtem a legfrissebbet is. Majd elkezdek ezzel is ügyködni, majdcsak belejövök előbb-utóbb ebbe is. -
sirpalee #31495 Értem. Ilyen esetekre pl jobb lenne egy python, és pl xml-ben vagy json-ba lementeni az egyes adatokat. Rugalmasabbak, és nagyon jó beépített libek vannak a kezelésükre.
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 -
#31494 Konkrétan egy toolboxon dolgozgatok maya alatt, ami kiváltja nekem teljesen a shelfet, meg a status linet. Elméletben ugyanúgy van, mint a shelfnél, hogy a gombok listázva, külön fileokban vannak, amik includeolva vannak a programba. És volna neki egy ablak, ami ugyanazt funkcionálja, mint a shelf editor, amivel további gombokat lehet(ne) hozzáadni. Szóval meg kell nyitni a filet, és hozzáadni az új gombot, illetve kitörölni, szerkeszteni, stb. És elmenteni, majd frissíteni a toolt.
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.