blender3d.cz http://blender3d.cz/forum/ |
|
Jednoduché rastliny http://blender3d.cz/forum/viewtopic.php?f=7&t=40 |
Stránka 1 z 1 |
Autor: | iIN [ pát črc 16, 2004 11:33 am ] |
Předmět příspěvku: | Jednoduché rastliny |
Tak som upravil moj skript na generovanie rastlín a už konečne funguje ako má ![]() Kód: #########################################################
# # # Skript na jednoduche generovanie jednoduchych rastlin # # # # Oznacte list a stlacte "Alt-P" - A program vygeneruje # # objekt podobny rastline (mozno ;)) Upravte ako chcete # # ale hadam mi aj dajte vediet (mailing-list@szm.sk).. # # # # # # # # ..vdaka Ashovi za vydatnu pomoc :) # # # ######################################################### import Blender from Blender import NMesh from math import * import random vyska = 20 # pocet segnentov segment = 0.3 # vyska jedneho segmentu minus = 0.01 # kazdy novy segment moze mat inu vysku # ^^^ Uzivat s rozvahou! hrubka = 0.25 # hrubka stebla {?} nahoda = 3 # nahoda rotlist = 2 # o kolko zrotuje dajsi list listy = 1 # Chceme listy? zlist = 0.3 # O kolko chceme zvacsit dalsi list? if (nahoda==0): nahoda=1000 for i in range(15): # (kvazi)pomazeme okienko :) me=NMesh.GetRaw() # ziskame kontrolu nad Meshmi xp=0 yp=0 rt=0 sz=1+(1/vyska) print dir(NMesh) for i in range(vyska): # a rastlinime :) Blender.Redraw() xrnd=random.random()-0.5 yrnd=random.random()-0.5 xp=xp+xrnd/nahoda yp=yp+yrnd/nahoda v=NMesh.Vert(0+xp,0+yp,-(i-1)*segment+(vyska*segment)-1) me.verts.append(v) v=NMesh.Vert((hrubka*i/vyska)/2+xp,(hrubka*i/vyska)*3/4+yp,-(i-1)*segment+(vyska*segment)-1) me.verts.append(v) v=NMesh.Vert(hrubka*i/vyska+xp,0+yp,-(i-1)*segment+(vyska*segment)-1) me.verts.append(v) if (listy==1): # A olistime oList=Blender.Object.GetSelected()[0] nList=Blender.Object.New("Mesh") mList=oList.getData() nList.link(mList) nList.setName("rList"+str(i)) Blender.Scene.getCurrent().link(nList) nList.setLocation(0+xp,0+yp,-(i-1)*segment+(vyska*segment)-1) nList.setEuler(0,0,rt) nList.setSize (sz,sz,sz) sz=sz-zlist rt=rotlist+rt segment=segment+minus for i in range(1,vyska): #ofacujeme Blender.Redraw() f=NMesh.Face() f.v.append(me.verts[i*3-3]) f.v.append(me.verts[i*3]) f.v.append(me.verts[i*3+1]) f.v.append(me.verts[i*3-2]) me.faces.append(f) f=NMesh.Face() f.v.append(me.verts[i*3-3+1]) f.v.append(me.verts[i*3+1]) f.v.append(me.verts[i*3+1+1]) f.v.append(me.verts[i*3-2+1]) me.faces.append(f) f=NMesh.Face() f.v.append(me.verts[i*3-3]) f.v.append(me.verts[i*3]) f.v.append(me.verts[i*3+2]) f.v.append(me.verts[i*3-1]) me.faces.append(f) me.setSubDivLevels([2,2]) NMesh.PutRaw(me, "rastlinka", 1) Blender.Redraw() |
Autor: | SirThomas [ pát črc 16, 2004 11:54 am ] |
Předmět příspěvku: | Re: Jednoduché rastliny |
iIN píše: Tak som upravil moj skript na generovanie rastlín a už konečne funguje ako má
![]() Můžeš mi to tady hodit do příloha, já to potom hodím do download, díky. |
Autor: | iIN [ pát črc 16, 2004 12:01 pm ] |
Předmět příspěvku: | |
Takže tu ![]() Inak by si mohol povoliť uploadovanie python skriptov (.py) |
Autor: | SirThomas [ pát črc 16, 2004 12:30 pm ] |
Předmět příspěvku: | |
iIN píše: Takže tu
![]() Inak by si mohol povoliť uploadovanie python skriptov (.py) Chci v sekci Download udržet "štábní kultůru" takže tohle nedovolím ![]() ![]() |
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/ |