blender3d.cz http://blender3d.cz/forum/ |
|
Stargate http://blender3d.cz/forum/viewtopic.php?f=5&t=5524 |
Stránka 1 z 2 |
Autor: | zdendos [ pon úno 04, 2008 11:49 am ] |
Předmět příspěvku: | |
Jinak taková malá věcná: Jak najdu prusečík dvou edges? Je v blenderu nějaká fce? Nic jsem nenašel a tak jsem si udělal vlastní script. Kód: # Autor: Zdenek Koukol, (c) ZDENDOS COMPANY 2008
# ---------------------------------------------- # Fce najde prusecik dvou edges # Testovano v Blender v 2.44 a 2.45 # Ver: 0.2 import Blender if (Blender.Get("version") != 244) and (Blender.Get("version") != 245): print "Warning: Pro tuto verzi Blenderu nebyl script testovan." objekty = Blender.Object.GetSelected() if (len(objekty) != 1): print "Error: Vyberte pouze jeden objekt!" else: objekt = objekty[0] if objekt.type != "Mesh": print "Error: Vyberte objekt typu MESH!" else: muj_mesh = objekt.getData() if Blender.Window.EditMode(): print "Error: Nesmis byt v editacnim modu!" else: vybrane_usecky = [] for usecka in muj_mesh.edges[:]: if (usecka.flag & 0x01): vybrane_usecky.append(usecka) if (len(vybrane_usecky) != 2): print "Error: Musis mit vybrany dve edges!" else: bodA = vybrane_usecky[0].v1 bodB = vybrane_usecky[0].v2 bodC = vybrane_usecky[1].v1 bodD = vybrane_usecky[1].v2 t = 0.0 s = 0.0 xE = 0.0 yE = 0.0 yE = 0.0 xF = 0.0 yF = 0.0 yF = 0.0 xA = (bodA.co[0]) yA = (bodA.co[1]) zA = (bodA.co[2]) xB = (bodB.co[0]) yB = (bodB.co[1]) zB = (bodB.co[2]) xC = (bodC.co[0]) yC = (bodC.co[1]) zC = (bodC.co[2]) xD = (bodD.co[0]) yD = (bodD.co[1]) zD = (bodD.co[2]) t = (yC*(xD - xC) - yA*(xD - xC) + xA*(yD - yC) - xC*(yD - yC)) / (((yB - yA) * (xD - xC)) - ((xB - xA) * (yD - yC))) s = (xA - xC + t*(xB - xA)) / (xD - xC) xE = xA + t*(xB - xA) yE = yA + t*(yB - yA) zE = zA + t*(zB - zA) xF = xC + s*(xD - xC) yF = yC + s*(yD - yC) zF = zC + s*(zD - zC) bod = Blender.NMesh.Vert(((xE + xF)/2), ((yE + yF)/2), ((zE + zF)/2)) muj_mesh.verts.extend([bod]) muj_mesh.update() |
Autor: | zdendos [ pon úno 04, 2008 11:51 am ] |
Předmět příspěvku: | |
PS: Jedná se o můj první blender-python script. A ty tečky, tak to jsou tabulátory (8 teček = 1 tabulátor). Fce nalezne průsečík úseček a vytvoří na jeho místě bod. |
Autor: | vojtas1 [ pon úno 04, 2008 6:21 pm ] |
Předmět příspěvku: | |
To nevypadá vůbec špatně, ale stejně co se týče StarGate, tak mám v Blenderu jen jednoho favorita http://uploader.polorix.net//files/19/done_ao_persp.jpg |
Autor: | zdendos [ pon úno 04, 2008 7:24 pm ] |
Předmět příspěvku: | |
Jj, vypadá výborně.. Našel jsem na netu taky zajimavé kousky http://3web.dkm.cz/dkdeath/3dsmax/sgc/StargateV9a_03.jpg |
Autor: | vojtas1 [ pon úno 04, 2008 8:47 pm ] |
Předmět příspěvku: | |
Ale to co jsem poslal je v Blenderu . Je to volně k dostání na elyseu (nebo jak se říká blenderartists.) |
Autor: | zdendos [ pon úno 04, 2008 10:28 pm ] |
Předmět příspěvku: | |
To je sice hezké, ale není lepší si to nakreslit vlastnoručně. A aspoň se trénuji v blenderu. |
Autor: | Sagi [ pon úno 04, 2008 10:52 pm ] |
Předmět příspěvku: | |
jestli mas cas tak sem hod skript znova... a strc ho do tagu Kód: a ... zachova ti to tabulatory tak jak maji byt
|
Autor: | zdendos [ úte úno 05, 2008 9:45 am ] |
Předmět příspěvku: | |
Sagi - díky za typ, ještě je co n tomto fóru co objevovat |
Autor: | zdendos [ sob úno 16, 2008 1:40 pm ] |
Předmět příspěvku: | |
Přepracoval jsem úplně vnitřní kruh StarGate, doufám, že se vám líbí. |
Autor: | zdendos [ sob úno 16, 2008 4:02 pm ] |
Předmět příspěvku: | |
Dneska se mi dostalo více času (jsem marod) a tak jsem začal tvořit vnější část... |
Autor: | vojtas1 [ ned úno 17, 2008 8:29 pm ] |
Předmět příspěvku: | |
Udělej ji trošku užší jinak 100% lepší. O hodně. |
Autor: | zdendos [ sob bře 08, 2008 12:09 am ] |
Předmět příspěvku: | |
Po delší nečinnosti model brány konečně dokončen. |
Autor: | vojtas1 [ sob bře 08, 2008 1:19 am ] |
Předmět příspěvku: | |
Fakt moc moc pěkný Uvedeš nějaká podrobnosti o modelu, jako počet Vertexů, Faců atd ? |
Autor: | zdendos [ sob bře 08, 2008 4:52 pm ] |
Předmět příspěvku: | |
Jasně, proč ne. Opravdu se nejedná o žádný low-poly. Takže: Vertexů 172035, Faces 189479 |
Stránka 1 z 2 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |