Skocz do zawartości

zbyszko

Members
  • Liczba zawartości

    99
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Zawartość dodana przez zbyszko

  1. Można zobacz plik i tutorial zmiantextury.zip
  2. Stary model Tygrysicy z Kung Fu Pandy - nowe futro w real time. Unreal Engine 4.12 + Neofur
  3. 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
  4. W Properties Shelf (Prawa strona ) masz przy grease pencil Frame Locked
  5. Ł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()
  6. Addon Dynamic Parent https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Animation/Dynamic_Parent
  7. 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.
  8. Nauka Zbrusha na postawie ilustracji Amanda Duarte
  9. Zwykły cube na ścieżce http://oi64.tinypic.com/2rdya9f.jpg Przeanalizyj plik blend http://sta.sh/02b4j23ker3m
  10. Zamiast loadMovie spróbuj attachMovie _root.attachMovie("bin.library.Anim.swf", "MyAnim", 2);
  11. Kup na stronie Adobe i po problemie Na co uważać https://www.xnet.pl/faq.html?grupa=adobe
  12. 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.
  13. Postać robiona w wolnych chwilach do portfolia.
  14. Zwykły Transparent i Mix shader daje rade
  15. Awersome Bump program podobny do crazy bump open source https://github.com/kmkolasinski/AwesomeBump
  16. Czy jest opcja by animować w Kricie na sysytemie Winows?
  17. Podnieśli cenę o 95 $ czy było napoczątku 795$?
  18. 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
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności