Skocz do zawartości

zbyszko

Members
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez zbyszko

  1. Tak neofur uwzględnia nawet wiatr
  2. Można zobacz plik i tutorial zmiantextury.zip
  3. Stary model Tygrysicy z Kung Fu Pandy - nowe futro w real time. Unreal Engine 4.12 + Neofur
  4. Witam chciałbym pochwalić się grą którą robiłem na WSOC 2016 LAST LIGHT To zręcznościowy RPG, a cała rozgrywka polega na pokonywaniu wrogów i przechodzeniu przez kolejne losowo generowanie plansze. Po drodze nasza postać zbiera doświadczenie które będzie można wydać na wydłużenie paska zdrowia, energii, czy też wzrost zadawanych obrażeń. Technologia: Gra pisana w action script 3 / adobe air Programy użyte do zrobienia gry: Adobe Flash Professional CS5 FlashDevelop Blender Gimp Audacity lmms WERSJA WEB (nie ma paska ładowania trzeba poczekać aż się strona załaduje) http://sta.sh/0lhls1n1xny STEROWANIE WSAD - CHODZENIE SHIFT - TARCZA ON/OFF SPACJA - DASH LMB- KRÓTKI KLIK ATAK LMB- PRZYTRZYMANIE A NASTEPNIE PUSZCZENIE MOCNY ATAK WERSJA NA ANDROIDA Nie potrzebuje środowiska Adobe Air http://sta.sh/0201xx2s89s Trzeba zainstalować Adobe Air http://sta.sh/0rda7o7qrkp Pozdrawiam
  5. W Properties Shelf (Prawa strona ) masz przy grease pencil Frame Locked
  6. Łap # ##### 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # ##### END GPL LICENSE BLOCK ##### # bl_info = { "name": "Dynamic Parent", "author": "Roman Volodin, [email protected]", "version": (0, 50), "blender": (2, 72, 0), "location": "View3D > Tool Panel", "description": "Allows to create and disable an animated ChildOf constraint", "warning": "The addon still in progress! Be careful!", "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Animation/Dynamic_Parent", "tracker_url": "", "category": "Animation"} import bpy import mathutils # dp_keyframe_insert_*** functions def dp_keyframe_insert_obj(obj): obj.keyframe_insert(data_path="location") if obj.rotation_mode == 'QUATERNION': obj.keyframe_insert(data_path="rotation_quaternion") elif obj.rotation_mode == 'AXIS_ANGLE': obj.keyframe_insert(data_path="rotation_axis_angle") else: obj.keyframe_insert(data_path="rotation_euler") obj.keyframe_insert(data_path="scale") def dp_keyframe_insert_pbone(arm, pbone): arm.keyframe_insert(data_path='pose.bones["'+pbone.name+'"].location') if pbone.rotation_mode == 'QUATERNION': arm.keyframe_insert(data_path='pose.bones["'+pbone.name+'"].rotation_quaternion') elif pbone.rotation_mode == 'AXIS_ANGLE': arm.keyframe_insert(data_path='pose.bones["'+pbone.name+'"].rotation_axis_angel') else: arm.keyframe_insert(data_path='pose.bones["'+pbone.name+'"].rotation_euler') arm.keyframe_insert(data_path='pose.bones["'+pbone.name+'"].scale') def dp_create_dynamic_parent_obj(op): obj = bpy.context.active_object scn = bpy.context.scene list_selected_obj = bpy.context.selected_objects if len(list_selected_obj) == 2: i = list_selected_obj.index(obj) list_selected_obj.pop(i) parent_obj = list_selected_obj[0] dp_keyframe_insert_obj(obj) bpy.ops.object.constraint_add_with_targets(type='CHILD_OF') last_constraint = obj.constraints[-1] if parent_obj.type == 'ARMATURE': last_constraint.subtarget = parent_obj.data.bones.active.name last_constraint.name = "DP_"+last_constraint.target.name+"."+last_constraint.subtarget else: last_constraint.name = "DP_"+last_constraint.target.name #bpy.ops.constraint.childof_set_inverse(constraint=""+last_constraint.name+"", owner='OBJECT') C = bpy.context.copy() C["constraint"] = last_constraint bpy.ops.constraint.childof_set_inverse(C, constraint=last_constraint.name, owner='OBJECT') current_frame = scn.frame_current scn.frame_current = current_frame-1 obj.constraints[last_constraint.name].influence = 0 obj.keyframe_insert(data_path='constraints["'+last_constraint.name+'"].influence') scn.frame_current = current_frame obj.constraints[last_constraint.name].influence = 1 obj.keyframe_insert(data_path='constraints["'+last_constraint.name+'"].influence') for ob in list_selected_obj: ob.select = False obj.select = True else: op.report({'ERROR'}, "Two objects must be selected") def dp_create_dynamic_parent_pbone(op): arm = bpy.context.active_object pbone = bpy.context.active_pose_bone scn = bpy.context.scene list_selected_obj = bpy.context.selected_objects if len(list_selected_obj) == 2 or len(list_selected_obj) == 1: if len(list_selected_obj) == 2: i = list_selected_obj.index(arm) list_selected_obj.pop(i) parent_obj = list_selected_obj[0] if parent_obj.type == 'ARMATURE': parent_obj_pbone = parent_obj.data.bones.active else: parent_obj = arm selected_bones = bpy.context.selected_pose_bones selected_bones.remove(pbone) parent_obj_pbone = selected_bones[0] # debuginfo = ''' # DEBUG INFO: # obj = {} # pbone = {} # parent = {} # parent_bone = {} # ''' # print(debuginfo.format(arm, pbone, parent_obj, parent_obj_pbone)) dp_keyframe_insert_pbone(arm, pbone) bpy.ops.pose.constraint_add_with_targets(type='CHILD_OF') last_constraint = pbone.constraints[-1] if parent_obj.type == 'ARMATURE': last_constraint.subtarget = parent_obj_pbone.name last_constraint.name = "DP_"+last_constraint.target.name+"."+last_constraint.subtarget else: last_constraint.name = "DP_"+last_constraint.target.name #bpy.ops.constraint.childof_set_inverse(constraint=""+last_constraint.name+"", owner='BONE') C = bpy.context.copy() C["constraint"] = last_constraint bpy.ops.constraint.childof_set_inverse(C, constraint=last_constraint.name, owner='BONE') current_frame = scn.frame_current scn.frame_current = current_frame-1 pbone.constraints[last_constraint.name].influence = 0 arm.keyframe_insert(data_path='pose.bones["'+pbone.name+'"].constraints["'+last_constraint.name+'"].influence') scn.frame_current = current_frame pbone.constraints[last_constraint.name].influence = 1 arm.keyframe_insert(data_path='pose.bones["'+pbone.name+'"].constraints["'+last_constraint.name+'"].influence') else: op.report({'ERROR'}, "Two objects must be selected") def dp_disable_dynamic_parent_obj(op): obj = bpy.context.active_object scn = bpy.context.scene if len(obj.constraints) == 0: op.report({'ERROR'}, "Object has no constraint") else: last_constraint = obj.constraints[-1] if "DP_" in last_constraint.name: current_frame = scn.frame_current scn.frame_current = current_frame-1 obj.constraints[last_constraint.name].influence = 1 obj.keyframe_insert(data_path='constraints["'+last_constraint.name+'"].influence') scn.frame_current = current_frame obj.constraints[last_constraint.name].influence = 0 obj.keyframe_insert(data_path='constraints["'+last_constraint.name+'"].influence') loc, rot, scale = obj.matrix_world.decompose() rot_euler = rot.to_euler() current_frame = scn.frame_current scn.frame_current = current_frame - 1 dp_keyframe_insert_obj(obj) scn.frame_current = current_frame obj.location = loc obj.rotation_euler = rot_euler obj.scale = scale dp_keyframe_insert_obj(obj) else: op.report({'ERROR'}, "Object has no Dynamic Parent constraint") def dp_disable_dynamic_parent_pbone(op): arm = bpy.context.active_object pbone = bpy.context.active_pose_bone scn = bpy.context.scene if len(pbone.constraints) == 0: op.report({'ERROR'}, "Bone has no constraint") else: last_constraint = pbone.constraints[-1] current_frame = scn.frame_current scn.frame_current = current_frame - 1 pbone.constraints[last_constraint.name].influence = 1 arm.keyframe_insert(data_path='pose.bones["'+pbone.name+'"].constraints["'+last_constraint.name+'"].influence') scn.frame_current = current_frame pbone.constraints[last_constraint.name].influence = 0 arm.keyframe_insert(data_path='pose.bones["'+pbone.name+'"].constraints["'+last_constraint.name+'"].influence') final_matrix = pbone.matrix * arm.matrix_world current_frame = scn.frame_current scn.frame_current = current_frame - 1 dp_keyframe_insert_pbone(arm, pbone) scn.frame_current = current_frame pbone.matrix = final_matrix dp_keyframe_insert_pbone(arm, pbone) def dp_clear(obj, pbone): dp_curves = [] dp_keys = [] for fcurve in obj.animation_data.action.fcurves: if "constraints" in fcurve.data_path and "DP_" in fcurve.data_path: dp_curves.append(fcurve) for f in dp_curves: for key in f.keyframe_points: dp_keys.append(key.co[0]) dp_keys = list(set(dp_keys)) dp_keys.sort() for fcurve in obj.animation_data.action.fcurves[:]: # Removing constraints fcurves if fcurve.data_path.startswith("constraints") and "DP_" in fcurve.data_path: obj.animation_data.action.fcurves.remove(fcurve) # Removing keys for loc, rot, scale fcurves else: for frame in dp_keys: for key in fcurve.keyframe_points[:]: if key.co[0] == frame: fcurve.keyframe_points.remove(key) if not fcurve.keyframe_points: obj.animation_data.action.fcurves.remove(fcurve) # Removing constraints if pbone: obj = pbone for const in obj.constraints[:]: if const.name.startswith("DP_"): obj.constraints.remove(const) class DpCreateConstraint(bpy.types.Operator): """Create a new animated Child Of constraint""" bl_idname = "dp.create" bl_label = "Create Constraint" bl_options = {'REGISTER', 'UNDO'} def execute(self, context): obj = bpy.context.active_object if obj.type == 'ARMATURE': obj = bpy.context.active_pose_bone if len(obj.constraints) == 0: dp_create_dynamic_parent_pbone(self) else: if "DP_" in obj.constraints[-1].name and obj.constraints[-1].influence == 1: dp_disable_dynamic_parent_pbone(self) dp_create_dynamic_parent_pbone(self) else: if len(obj.constraints) == 0: dp_create_dynamic_parent_obj(self) else: if "DP_" in obj.constraints[-1].name and obj.constraints[-1].influence == 1: dp_disable_dynamic_parent_obj(self) dp_create_dynamic_parent_obj(self) return {'FINISHED'} class DpDisableConstraint(bpy.types.Operator): """Disable the current animated Child Of constraint""" bl_idname = "dp.disable" bl_label = "Disable Constraint" bl_options = {'REGISTER', 'UNDO'} def execute(self, context): obj = bpy.context.active_object if obj.type == 'ARMATURE': dp_disable_dynamic_parent_pbone(self) else: dp_disable_dynamic_parent_obj(self) return {'FINISHED'} class DpClear(bpy.types.Operator): """Clear Dynamic Parent constraints""" bl_idname = "dp.clear" bl_label = "Clear Dynamic Parent" bl_options = {'REGISTER', 'UNDO'} def execute(self, context): pbone = None obj = bpy.context.active_object if obj.type == 'ARMATURE': pbone = bpy.context.active_pose_bone dp_clear(obj, pbone) return {'FINISHED'} class DpBake(bpy.types.Operator): """Bake Dynamic Parent animation""" bl_idname = "dp.bake" bl_label = "Bake Dynamic Parent" bl_options = {'REGISTER', 'UNDO'} def execute(self, context): obj = bpy.context.active_object scn = bpy.context.scene if obj.type == 'ARMATURE': obj = bpy.context.active_pose_bone bpy.ops.nla.bake(frame_start=scn.frame_start, frame_end=scn.frame_end, step=1, only_selected=True, visual_keying=False, clear_constraints=False, clear_parents=False, bake_types={'POSE'}) # Removing constraints for const in obj.constraints[:]: if const.name.startswith("DP_"): obj.constraints.remove(const) else: bpy.ops.nla.bake(frame_start=scn.frame_start, frame_end=scn.frame_end, step=1, only_selected=True, visual_keying=False, clear_constraints=False, clear_parents=False, bake_types={'OBJECT'}) # Removing constraints for const in obj.constraints[:]: if const.name.startswith("DP_"): obj.constraints.remove(const) return {'FINISHED'} class DpClearMenu(bpy.types.Menu): """Clear or bake Dynamic Parent constraints""" bl_label = "Clear Dynamic Parent?" bl_idname = "dp.clear_menu" def draw(self, context): layout = self.layout layout.operator("dp.clear", text="Clear", icon="X") layout.operator("dp.bake", text="Bake and clear", icon="REC") class DpUI(bpy.types.Panel): """User interface for Dynamic Parent addon""" bl_category = "Dynamic Parent" bl_label = "Dynamic Parent" bl_idname = "dp.ui" bl_space_type = "VIEW_3D" bl_region_type = "TOOLS" def draw(self, context): layout = self.layout col = layout.column(align=True) col.operator("dp.create", text="Create", icon="KEY_HLT") col.operator("dp.disable", text="Disable", icon="KEY_DEHLT") #col.operator("dp.clear", text="Clear", icon="X") #col.operator("wm.call_menu", text="Clear", icon="RIGHTARROW_THIN").name="dp.clear_menu" col.menu("dp.clear_menu", text="Clear") def register(): bpy.utils.register_class(DpCreateConstraint) bpy.utils.register_class(DpDisableConstraint) bpy.utils.register_class(DpClear) bpy.utils.register_class(DpBake) bpy.utils.register_class(DpClearMenu) bpy.utils.register_class(DpUI) pass def unregister(): bpy.utils.unregister_class(DpCreateConstraint) bpy.utils.unregister_class(DpDisableConstraint) bpy.utils.unregister_class(DpClear) bpy.utils.unregister_class(DpBake) bpy.utils.unregister_class(DpClearMenu) bpy.utils.unregister_class(DpUI) pass if __name__ == "__main__": register()
  7. Addon Dynamic Parent https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Animation/Dynamic_Parent
  8. Prze Modyfikatorem Cloth musisz dać Armature gdzie vertexy które "maja pinning w okolicy szyji" bedą przyczepione do kości szyi ; Sprawdź numer końcowej klatki w cloth catche, czy jest taka sama jak końcowa klatka animacji.
  9. Daj dla peleryny Pinning przy szyi
  10. Nauka Zbrusha na postawie ilustracji Amanda Duarte
  11. Zwykły cube na ścieżce http://oi64.tinypic.com/2rdya9f.jpg Przeanalizyj plik blend http://sta.sh/02b4j23ker3m
  12. Zamiast loadMovie spróbuj attachMovie _root.attachMovie("bin.library.Anim.swf", "MyAnim", 2);
  13. Kup na stronie Adobe i po problemie Na co uważać https://www.xnet.pl/faq.html?grupa=adobe
  14. zbyszko odpowiedział PIraT → na temat → Game Art
    Bardzo ładna kuchnia.
  15. Na polycount są odmiennego zdania chcieli by więcej kolorów , przebarwień. Paleta jakiej Użyłem to split complementary colors zauważyłem że postacie z Borderlands mają ten typ palety.
  16. Postać robiona w wolnych chwilach do portfolia.
  17. Zwykły Transparent i Mix shader daje rade
  18. Awersome Bump program podobny do crazy bump open source https://github.com/kmkolasinski/AwesomeBump
  19. Modyfikator Bevel Limit Method Angle
  20. Bone.001 zmiast ik daj track to
  21. zbyszko odpowiedział Monio → na temat → Aktualności (mam newsa)
    Czy jest opcja by animować w Kricie na sysytemie Winows?
  22. zwiększ dist pod Self Colision
  23. Podnieśli cenę o 95 $ czy było napoczątku 795$?
  24. Ja jak mam wyexportować do fomatu fbx robię 2 szkielety jeden Z ik ,driverami itp. A drugi to tylko szkielet bez Ik i żadnych dodatkowych targetów gdzie wszystkie kości mają Copy Transforms Pose to Pose z pierwszego szkieletu . Exportuje mesh i Amature 2

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności