blender3d.cz http://forum.blender3d.cz/ |
|
Generování meshe pro zeď http://forum.blender3d.cz/viewtopic.php?f=7&t=2467 |
Stránka 1 z 1 |
Autor: | Ragnos [ úte úno 07, 2006 12:59 pm ] |
Předmět příspěvku: | Generování meshe pro zeď |
Tak jsem rozepsal svůj další skriptík, až ho vyladím tak ho semka pošlu. |
Autor: | Ragnos [ úte úno 07, 2006 1:50 pm ] |
Předmět příspěvku: | |
tady je zdroják, něco málo přibylo... hlavně mě nebijte za tu přehlednost zdrojáku, jsem se k programování dostal téměř po roce. |
Autor: | lz [ úte úno 07, 2006 7:18 pm ] |
Předmět příspěvku: | |
Zkoušel jsem to a funguje bez prblémů..chystám se něco tvořit do soutěže "město",tak to zkusim využít.. |
Autor: | lz [ úte úno 07, 2006 8:55 pm ] |
Předmět příspěvku: | |
ještě mě napadlo,že tenhle skript by se dal použít i na tvorbu dlažby apod..vyzkouším.. |
Autor: | Vybi [ úte úno 07, 2006 9:08 pm ] |
Předmět příspěvku: | |
Skvelej napad, potom staci dat nekterym vybranym cihlam extrude fractal a budou aji omlety, to se hodi!! ![]() |
Autor: | Ragnos [ úte úno 07, 2006 9:28 pm ] |
Předmět příspěvku: | |
lz:tvorba podlahy mě nenapadla, ale nápad na generování zdi mi ležel pěkně dlouho v hlavě... |
Autor: | D@vi$ [ stř úno 08, 2006 12:46 am ] |
Předmět příspěvku: | |
Zkus to upravit tak, aby se dalo nastavit, aby cyhly nezačínaly v jedné přímce, ale rozdíly byly na obou stranách. A pak aby to šlo dát do kruhu (věž apod..) |
Autor: | AD [ stř úno 08, 2006 8:32 am ] |
Předmět příspěvku: | |
to není špatné ale ještě přidej i znepravidelnění vodorovné spáry... |
Autor: | Ragnos [ ned úno 12, 2006 1:11 am ] |
Předmět příspěvku: | |
D@vi$: to by slo, mrknu na to AD:no to je problem udelat ,aby se ty cihly neprekryvali |
Autor: | AD [ ned úno 12, 2006 10:52 am ] |
Předmět příspěvku: | |
G_Taurus píše: D@vi$: to by slo, mrknu na to
AD:no to je problem udelat ,aby se ty cihly neprekryvali ..........ty to zvládneš......stačilo by neměnit jejich velikost, jen náhodně upravit jejich polohu ...nahoru, dolů... v rozsahu spáry... obdobně by to šlo uplatnit i na velikost cihly... udělat to ve větším rozsahu je opravdu problém, to už by jsi vlastně dělal script na generování kamenné zdi ![]() |
Autor: | Ragnos [ ned úno 12, 2006 1:57 pm ] |
Předmět příspěvku: | |
tak jsem dodelal rozhozeni cihel nahoru a dolu a aby nezacinala rada cihel v jedne rovine i kdyz nenavazuje na konec Kód: #!BPY
#********Importovani Knihoven**** import whrandom import math import Blender from Blender import NMesh from Blender.BGL import * from Blender.Draw import * #Events EVENT_NOEVENT=1 EVENT_DRAW=2 EVENT_EXIT=3 #promenne pro slidery cihel_x2= Create(15) cihel_y2= Create(20) xx_ofset2 = Create(0.1) yy_ofset2 = Create(1.25) faktor_x2 = Create(2.0) faktor_y2 = Create(0.1) cihla_vel_y2= Create(1.0) cihla_vel_x2= Create(1.0) pole_krok_z= Create(2.5) pole_scale_z= Create(1.0) pole_rot_z= Create(0) pole_krok_rand_z= Create(0.0) pole_scale_min_z= Create(1.0) pole_scale_max_z= Create(1.0) pole_rot_min_z= Create(0) pole_rot_max_z= Create(0) rankrokz = Create(0) def cihly(cihel_x,cihel_y,yy_ofset,cihla_vel_y,cihla_vel_x,faktor_x,xx_ofset,faktor_y): me = NMesh.GetRaw() lastvelx=0 for i2 in range(cihel_y): lastvelx=(whrandom.random()*faktor_x+cihla_vel_x) for i in range(cihel_x): randx=whrandom.random() finishvelx=randx*faktor_x+cihla_vel_x randy=whrandom.random()*faktor_y randy2=whrandom.random()*faktor_y v=NMesh.Vert(lastvelx,i2*yy_ofset+randy-randy2,0.0) me.verts.append(v) v=NMesh.Vert(lastvelx+finishvelx,cihla_vel_y+(i2*yy_ofset)+randy-randy2,0.0) me.verts.append(v) v=NMesh.Vert(lastvelx,cihla_vel_y+(i2*yy_ofset)+randy-randy2,0.0) me.verts.append(v) v=NMesh.Vert(lastvelx+finishvelx,i2*yy_ofset+randy-randy2,0.0) me.verts.append(v) lastvelx=lastvelx+finishvelx+xx_ofset lastvelx=0 for i in range(cihel_x*cihel_y): f=NMesh.Face() f.v.append(me.verts[0+i*4]) f.v.append(me.verts[3+i*4]) f.v.append(me.verts[1+i*4]) f.v.append(me.verts[2+i*4]) me.faces.append(f) NMesh.PutRaw(me,"test",1) Blender.Redraw def draw(): ####Promenne pro offset tlacitek tlac_y=-100 ####promenne pro slidery global cihel_x2,cihel_y2,yy_ofset2,faktor_x2,cihla_vel_y2,cihla_vel_x2,xx_ofset2,faktor_y2 ####Popisky glClear(GL_COLOR_BUFFER_BIT) ###Parametry GUI tlacitek # glRasterPos2d(15,360+tlac_y) # Text("Text") cihel_x2= Number("Pocet cihel x:",EVENT_NOEVENT,10,295+tlac_y+60,120,18,cihel_x2.val,0,1000,"Pocet cihel na ose x"); cihel_y2= Number("Pocet cihel y:",EVENT_NOEVENT,10,295+tlac_y+30,120,18,cihel_y2.val,0,1000,"Pocet cihel na ose y"); cihla_vel_x2= Number("Velikost cihly na ose x:",EVENT_NOEVENT,10,295+tlac_y-90,220,18,cihla_vel_x2.val,0,10,"Velikost cihly na ose x") cihla_vel_y2 = Number("Velikost cihly na ose y:",EVENT_NOEVENT,10,295+tlac_y-120,220,18,cihla_vel_y2.val,0,10,"Velikost cihly na ose y"); faktor_x2=Number("Faktor nahody pro osu X:",EVENT_NOEVENT,10,295+tlac_y-30,220,18,faktor_x2.val,0,10,"Faktor nahody pro velikost cihly na ose x"); faktor_y2=Number("Faktor nahody pro osu Y:",EVENT_NOEVENT,10,295+tlac_y-60,220,18,faktor_y2.val,0,10,"Faktor nahody pro velikost cihly na ose y"); xx_ofset2= Number("Offset na ose x:",EVENT_NOEVENT,150,295+tlac_y+60,150,18,xx_ofset2.val,0,200,"Offset na ose x"); yy_ofset2= Number("Offset na ose y:",EVENT_NOEVENT,150,295+tlac_y+30,150,18,yy_ofset2.val,0,200,"Offset na ose y"); # *****Tlacitka pro randomize ###Nakreslit tlacitka Button("Make Wall",EVENT_DRAW,20,10,80,18) Button("Exit",EVENT_EXIT,270,10,80,18) def event(evt,val): if(evt == QKEY and not val): Exit() def bevent(evt): ###Ovladani GUI soucasti if(evt== EVENT_EXIT): Exit() if (evt==EVENT_DRAW): cihly(cihel_x2.val,cihel_y2.val,yy_ofset2.val,cihla_vel_y2.val,cihla_vel_x2.val,faktor_x2.val,xx_ofset2.val,faktor_y2.val) Blender.Redraw Register(draw,event,bevent) |
Autor: | Trubitak [ čtv bře 23, 2006 1:13 pm ] |
Předmět příspěvku: | |
Tak tohle se mi mooc lÃbÃ. Obdivuju lidi co se s tÃm pÃÅ¡ou a co to vůbec umà ![]() |
Stránka 1 z 1 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |