Zawartość dodana przez Nanoman
-
Rozłożenie gotowych obiektów po łuku - jak zrobić ???
alex bardzo fajny patent. Czy mógłbyś zdradzić jak stworzyłeś ten emiter? Chodzi mi o sposób, którego użyłeś do łożenia poligonów, tzn czy jest jakiś szybki i w miarę automatyczny sposób czy po prostu trzeba to zrobić ręcznie, bo to nie jest takie oczywiste 🙂 Z góry dzięki
-
Szybki podglad subdiv
Witam. Także bardzo często korzystam z metody szybkiego przełączania tych widoków, natomiast swego czasu zakupiłem dodatek "Pie Menu Editor" i dzięki niemu udało się stworzyć setup pozwalający przełączać poziomy modyfikatora "Subdivision" zaróno w Object jak i w Edit Mode . Dodatkowo za każdym razem kiedy przełączam się na poziom "0" wykonuje się jednocześnie polecenie "Shade Flat" co jest mega wygodne. Jeśli ktoś tez posiada ten addon to mogę się podzielić tymi kilkoma ustawieniami 🙂
-
Wyrównanie długości edge'y - czy jest taki operator?
Świetny skrypt. Czy dałoby radę zrobić tak aby podczas wyrównywania długości krawędzi jedna strona werteksów pozostała na swoim miejscu? Obrazek poniżej: https://i.imgur.com/PpA4pK3.png
-
Awesome Bump - wypalanie różnych rodzajów map
Nowy filmik od autora:
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
Tego typu artefakty występują tylko podczas renderowania w widoku "Ortho" gdy kamera jest bardzo blisko nawet większego obiektu - w perspektywie jest ok.
-
Makaron (symulacja)
W tym przypadku można kombinować co najmniej na 2 sposoby, które przychodzą mi do głowy: 1. Krzywa typu Nurbs z dodanym parametrem Depth oraz dodanym Soft Body z uwzględnionym Soft Body Self Collision 2. Krawędź z optymalną liczbą werteksów z modyfikatorem Skin W załączeniu sklecona na szybko scenka zapewne wymaga dopracowania. spagetti.zip
-
Pick shortest path
Pewnie, że się przyda. Nie wiedzieć czemu tego operatora nie było u mnie w ogóle na liście "Input" i faktycznie przyspiesza nieco pracę ale jest jeden mały minusik - ten operator nie wyznaczy ścieżki od werteksa zaznaczonego np. poprzez "border select" bo wtedy jak sądzę nie ma on statusu "aktywny" tylko "zaznaczony", natomiast "mesh.shortest_path_select" jest w stanie wyznaczyć ją pomiędzy dwoma werteksami o statusie "zaznaczony" nie potrzebuje mieć aktywnego werteksa.
-
Poszukuję programu typu "time tracking" z opcją powiadamiania e-mail
Witam. Poszukuje oprogramowania wspomagającego pracę grafika w agencji reklamowej. Generalnie wyobrażam sobie aplikację, do której można wprowadzić listę klientów i firm jako bazę danych, wraz z adresami e-mail telefonami itd. Rozpoczynając pracę nad nowym projektem wybieram klienta z bazy danych, tworzę nowy wpis, naciskam "START" i program rozpoczyna pomiar czasu pracy przy danym projekcie. Klikam "Stop" a aplikacja automatycznie wysyła maila do klienta, informując, ze w dniu tym i tym nad projektem takim i takim spędzono tyle i tyle czasu, za cenę taką i taką. Klikam np. "Zrealizuj zlecenie" a program wysyła do klienta maila z wiadomością, że można odebrać towar lub coś w tym stylu. Na chwilę obecną używam darmowego "Task Coach" ale nie posiada on niestety funkcjonalności z powiadamianiem e-mail a coś takiego bardzo ułatwiłoby mi pracę. z góry dzięki za info
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
@szczuro zwracam honor - poprzednio źle wkleiłem...:)
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
@szczuro prawie zadziałała ta opcja to znaczy w Pie Menu wyświetla się osobne polecenie ale po jego kliknięciu ponownie wyskakuje zwykłe menu z 3 opcjami rozdziału siatki do wybory ale trop był dobry, natomiast poprosiłem o pomoc także na "ba" i tutaj już otrzymałem wzór w pełni sprawnego kodu: import bpy from bpy.types import Menu sep_names = { e.identifier: e.name for e in bpy.types.MESH_OT_separate.bl_rna.properties['type'].enum_items } class VIEW3D_PIE_template(Menu): # label is displayed at the center of the pie menu. bl_label = "Select Mode" def draw(self, context): layout = self.layout pie = layout.menu_pie() pie.operator("mesh.separate", text=sep_names['SELECTED'], icon='MATERIAL').type = 'SELECTED' pie.operator("mesh.separate", text=sep_names['MATERIAL'], icon='BORDER_RECT').type = 'MATERIAL' pie.operator("mesh.separate", text=sep_names['LOOSE'], icon='UV_ISLANDSEL').type = 'LOOSE' def register(): bpy.utils.register_class(VIEW3D_PIE_template) def unregister(): bpy.utils.unregister_class(VIEW3D_PIE_template) if __name__ == "__main__": register() bpy.ops.wm.call_menu_pie(name="VIEW3D_PIE_template") Leci plus za jak zawsze dobre chęci:)
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
Witam. Układam powoli własne kombinacje Pie Menu i mam małą zagadkę. Na poniższym obrazku za zaznaczone na żółto elementy menu odpowiada jedna linia kodu: pie.operator_enum("mesh.separate", "type") dopisek "enum" rozbija listę na 3 oddzielne pozycje w menu - a moje pytanie brzmi czy da się to rozbić na 3 oddzielne linie kodu aby można było do każdego z tych trzech poleceń przypisać inną ikonę widoczną w menu tak jak to ma miejsce w przypadku "join"? Dzięki za radę.
-
Export krzywych Beziera z blendera
zbyszko nie mam tej opcji u siebie w wersji skryptu 0.1.9, a Ty którą masz zainstalowaną? Edit Miałem starą wersję :( dzięki za cynk. W sumie teraz generują się 2 krzywe nałożone na siebie z których jedna jest w porządku a druga tak poprzednio z zagęszczonymi węzłami ale z tym już można żyć:)
-
Export krzywych Beziera z blendera
Witam. Znacie jakiś dobry sposób na export krzywych Beziera z blendera? Wyjściowy format który mnie interesuje to ai lub svg. Najważniejsze jednak jest to, aby zgadzała się ilość węzłów. Jest takie coś: http://blenderartists.org/forum/showthread.php?282824-SVG-output-script ale wygenerowana krzywa ma strasznie dużo węzłów a po optymalizacji np w Corelu ich ilości się już nie zgadzają :( Z góry dzięki za info
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
Panowie da radę wyłączyć wyświetlanie ścieżki do pliku na pasku "Strip" w Sequencerze? Edytuję teraz samo audio z włączonym wyświetlaniem "Waveform" co pomaga w edycji natomiast bardzo przeszkadza wyświetlana ścieżka do pliku :(
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
Cześć. Szybkie pytanie z zakresu pythona. Co jakiś czas uzupełniam sobie własny panel różnymi poleceniami aby mieć wszystko pod ręką. Przystawiło mi w jednej kwestii a mianowicie operator "dimensions", mój przykład row.column().prop(obj, "dimensions") który jest operatorem wbudowanym w blendera wyświetla na panelu wyniki tylko wtedy, gdy na danej warstwie znajdują się jakieś obiekty - gdy je usuniemy cała rubryka z parametrami znika z obszaru panela a dla mnie jest to problem, ponieważ znikają także pozostałe polecenia, które w zapisie kodu występują pod wyżej wymienionym operatorem. Jak zmusić blendera aby pozostawił wyświetlone wyniki operatora "dimensions" pomimo pustej warstwy? Z góry dzięki
-
BLightStudio for BLender
ptaszku super to wykombinowałeś, przełożenie kontroli nad źródłami światła do płaszczyzny bardzo mi się podoba :)
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
No tak... ja przez cały czas wpisywałem w polu wyszukiwania zadeklarowaną nazwę operatora a nie przycisku dlatego nie mogłem znaleźć :( @szczuro co do odświeżania faktycznie wartości aktualizują się dopiero po najechaniu kursorem - w pierwotnej wersji skrypt nie miał przycisku tylko zwracał wartości w trybie auto update, jednak przy większej ilości obiektów za bardzo zamulało więc poprosiłem gościa, aby dorobił przycisk, więc może jakaś część kodu ma wpływ na ten stan rzeczy...
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
Dzięki szczuro, bez checkboxa o wiele lepiej, jednak mój blender w dalszym ciągu nie widzi operatora...Może tylko u mnie jest coś nie tak?
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
Witam. Ja znowu potrzebuję pomocy w kodzie. Swego czasu użytkownik BA napisał na moją prośbę skrypt, który oblicza całkowity rozmiar wszystkich zaznaczonych obiektów. Plik ze scenką do uruchomienia można pobrać tutaj: http://blenderartists.org/forum/attachment.php?attachmentid=318568&d=1404331888 Kod tworzy nowy panel w oknie "Properties" na zakładce "Object" i wygląda jak na poniższym obrazku. I teraz nie chcę już chłopakowi głowy zawracać bo wspomagam się trochę translatorem i pewnie jakieś bzdury niekiedy wychodzą więc piszę tutaj. Dla mnie addon jest bardzo pomocny podczas tworzenia różnych konstrukcji opartych o profile aluminiowe i nie tylko. Generalnie skrypt działa bardzo dobrze ale w obecnej wersji operator "custombutton1" nie jest rejestrowany wewnątrz blendera, a bardzo chciałbym przypisać sobie do niego skrót klawiszowy. No i jeszcze kwestia checkboxa "Enable" nie jest on do niczego potrzebny a jego istnienie wynika z mojego niedogadania z autorem :( Starałem się wzorować na innych skryptach i szablonach ale w dalszym ciągu nie mogę zarejestrować w blenderze tego operatora... Pomożecie? No i oczywiście może komuś z Was też się przyda to coś... Dzięki # ##### BEGIN GPL LICENSE BLOCK ##### # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # ##### END GPL LICENSE BLOCK ##### import bpy from bpy.props import * from mathutils import * from math import * # Ckeck Box Properties bpy.types.Scene.MyCkeckbox1 = BoolProperty( name="Boolean", description="True or False?") bpy.context.scene['MyCkeckbox1'] = False bl_info = { "name": "Scene selected ob Dim", "author": "Rickyblender", "version": (0, 1, 0), "blender": (2, 71, 0), "location": "View3D > Add > Mesh > scenedim", "description": "Scene selected ob Dim ", "warning": "Date 1 July 2014", "wiki_url": " http://blenderartists.org/forum/showthread.php?341699-Dimensions-of-all-selected-objects " "", "category": "Add Mesh", } scd1=[0,0,0,0] ### def scenedim1(): global scd1 minx = 0 miny = 0 minz = 0 maxx = 0 maxy = 0 maxz = 0 c1=0 for o1 in bpy.context.selected_objects: if o1.name=="Camera" or o1.name=="Empty": pass else: # print ('ob=',o1.name) # print () bounds = functions.getobjectBounds(o1) oxmin = bounds[0][0] oxmax = bounds[1][0] oymin = bounds[0][1] oymax = bounds[1][1] ozmin = bounds[0][2] ozmax = bounds[1][2] if c1==0 : minx=oxmin miny=oymin minz=ozmin maxx=oxmax maxy=oymax maxz=ozmax # min if oxmin minx = oxmin if oymin miny = oymin if ozmin minz = ozmin # max if oxmax >= maxx: maxx = oxmax if oymax >= maxy: maxy = oymax if ozmax >= maxz: maxz = ozmax c1+=1 # print ('x min =', minx , 'y min =', miny, 'z min =', minz ) # print ('x max =', maxx , 'y max =', maxy, 'z max =', maxz ) # print () # print ('x min =', minx , 'x max =', maxx ) # print ('y min =', miny , 'y max =', maxy ) # print ('z min =', minz , 'z max =', maxz ) # print () widhtx=(maxx-minx) widhty=maxy-miny widhtz=maxz-minz # print ('Scene X Y Z Bounds : { ',widhtx, ' + ' ,widhty , ' + ', widhtz ) scd=[widhtx ,widhty ,widhtz ,len(bpy.context.selected_objects) ] scd1= scd # print ('scd1=',scd1) return ### ### class ScenedimdPanel(bpy.types.Panel): """Creates a Panel in the Object properties window""" bl_label = "Scene-dim-panel" bl_idname = "OBJECT_PT_hello" bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' bl_context = "object" @classmethod def poll(cls, context): obs=bpy.context.selected_objects return obs def draw(self, context): global scd1 layout = self.layout scene = context.scene col = layout.column() col.prop(scene, "MyCkeckbox1", text = "Enable") if scene.MyCkeckbox1: # print ('checkbox True') # obj = context.object # obs=bpy.context.selected_objects # dim1=scenedim1() # dx1=dim1[0] # dy1=dim1[1] # dz1=dim1[2] dx1=scd1[0] dy1=scd1[1] dz1=scd1[2] row = layout.row() row.label(text="Scene selected ob DIM", icon='WORLD_DATA') # row = layout.row() # row.label(text="Active object is: " + obj.name) # row = layout.row() # row.prop(obj, "name") # row = layout.row() # row.operator("mesh.primitive_cube_add") le1=scd1[3] row = layout.row() row.label(text="selected object is: " + str(le1)) # unit = bpy.context.scene.unit_settings unit =bpy.context.scene.unit_settings.system # bpy.context.scene.unit_settings # print ('UnitSettings.system =', bpy.context.scene.unit_settings[0]) # print ('unit=',unit) # unitsettings if unit=="METRIC": # print ('Metric units system') m1=" mm" dx1=dx1*1000 dy1=dy1*1000 dz1=dz1*1000 elif unit=="IMPERIAL": # print ('IMPERIA units system') m1=" Feet" else: # print ('BU units system') m1=" BU" ASTx = str("%.2f"%(dx1))+" X " + m1 row = layout.row() row.label(text="X Dim = " + ASTx) ASTy = str("%.2f"%(dy1))+" Y " + m1 row = layout.row() row.label(text="Y Dim = " + ASTy) ASTz = str("%.2f"%(dz1))+" Z " + m1 row = layout.row() row.label(text="Z Dim =" + ASTz) row = layout.row() layout.operator("custom.button1") else: print ('checkbox Fake') ### """ """ ### class functions(): def getobjectBounds(ob): obminx = ob.location.x obminy = ob.location.y obminz = ob.location.z obmaxx = ob.location.x obmaxy = ob.location.y obmaxz = ob.location.z for vertex in ob.bound_box[:]: x = ob.location.x + (ob.scale.x * vertex[0]) y = ob.location.y + (ob.scale.y * vertex[1]) z = ob.location.z + (ob.scale.z * vertex[2]) if x obminx = x if y obminy = y if z obminz = z if x >= obmaxx: obmaxx = x if y >= obmaxy: obmaxy = y if z >= obmaxz: obmaxz = z boundsmin = [obminx,obminy,obminz] boundsmax = [obmaxx,obmaxy,obmaxz] bounds = [boundsmin,boundsmax] # print (' ob.name=', ob.name) # print ('bound min =', boundsmin,' boundsmax =', boundsmax ) # print () return bounds ### #### class custombutton1(bpy.types.Operator): bl_idname = "custom.button1" bl_label = "Do Calculations" __doc__ = "Simple Custom Button" def invoke(self, context, event): # when the button is press it prints this to the log / Console scenedim1() print("Custom Button1 Calculate scene dim") return{'FINISHED'} ### ### def register(): bpy.utils.register_module(__name__) def unregister(): bpy.utils.unregister_module(__name__) if __name__ == "__main__": register()
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
No i gra :) Dzięki
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
Czyli jak dokładnie w moim przypadku powinienem zadeklarować? Nie orientuję się jeszcze w tym za bardzo :(
-
Szybkie odpowiedzi na proste pytania. Blender Q&A
Witam. Chciałbym w obrębie jednego panelu umieścić sobie w 2 boxach parametry dotyczące "Ray Visibility" dla zaznaczonego obiektu, a poniżej dotyczące aktywnego "World". Z obiektem mi się udało natomiast opcje odnośnie świata nie chcą się wyświetlić. Co może być nie tak? Wglądówka: ob = context.object visibility = ob.cycles_visibility col = layout.column() box = col.box() box.label(text="Object Ray Visibility", icon='OBJECT_DATA') box.prop(visibility, "camera") box.prop(visibility, "diffuse") box.prop(visibility, "glossy") box.prop(visibility, "transmission") if ob.type != 'LAMP': box.prop(visibility, "shadow") col.separator() box = col.box() box.label(text="World Ray Visibility", icon='WORLD') world = context.world wovisibility = world.cycles_visibility row = box.row() row.prop(wovisibility, "camera") row.prop(wovisibility, "diffuse") row.prop(wovisibility, "glossy") row.prop(wovisibility, "transmission") Dzięki..
-
Blender imateriał typu matte (Cycles) POMOCY
Ja do obiektów, które maja odbicia używam takiego zestawu dla "World", a pod obiektem umieszczam plane z białym diffuse.
-
Curve - separate by loose parts
Gites. szczuro na BA z tym...
-
Curve - separate by loose parts
Tak proszę Pana takie :):) Teraz działa na wszystkich rodzajach krzywych. No to szczuro ponawiam propozycję do opublikowania jako pełnoprawnego dodatku, bo na pewno wielu ludziskom się przyda... Podziękował...