59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
|
""" Contains Blender properties and UI for .msh materials. """
|
||
|
|
||
|
import bpy
|
||
|
from bpy.props import StringProperty, BoolProperty, EnumProperty, FloatVectorProperty, IntProperty
|
||
|
from bpy.types import PropertyGroup
|
||
|
from .msh_material_ui_strings import *
|
||
|
from .msh_model import *
|
||
|
|
||
|
|
||
|
class SkeletonProperties(PropertyGroup):
|
||
|
name: StringProperty(name="Name", default="Bone Name")
|
||
|
parent: StringProperty(name="Parent", default="Bone Parent")
|
||
|
loc: FloatVectorProperty(name="Local Position", default=(0.0, 0.0, 0.0), subtype="XYZ", size=3)
|
||
|
rot: FloatVectorProperty(name="Local Rotation", default=(0.0, 0.0, 0.0, 0.0), subtype="QUATERNION", size=4)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
class SkeletonPropertiesPanel(bpy.types.Panel):
|
||
|
""" Creates a Panel in the Object properties window """
|
||
|
bl_label = "SWBF Skeleton Properties"
|
||
|
bl_idname = "SKELETON_PT_swbf_msh"
|
||
|
bl_space_type = 'PROPERTIES'
|
||
|
bl_region_type = 'WINDOW'
|
||
|
bl_context = "data"
|
||
|
bl_options = {'DEFAULT_CLOSED'}
|
||
|
|
||
|
|
||
|
@classmethod
|
||
|
def poll(cls, context):
|
||
|
return context.object.type == 'ARMATURE'
|
||
|
|
||
|
|
||
|
def draw(self, context):
|
||
|
if context.object is None:
|
||
|
return
|
||
|
|
||
|
layout = self.layout
|
||
|
|
||
|
skel_props = context.object.data.swbf_msh_skel
|
||
|
|
||
|
for prop in skel_props:
|
||
|
layout.prop(prop, "name")
|
||
|
layout.prop(prop, "parent")
|
||
|
layout.prop(prop, "loc")
|
||
|
layout.prop(prop, "rot")
|
||
|
|
||
|
|
||
|
'''
|
||
|
layout.prop(skel_props, "name")
|
||
|
layout.prop(skel_props, "parent")
|
||
|
layout.prop(skel_props, "loc")
|
||
|
layout.prop(skel_props, "rot")
|
||
|
'''
|
||
|
|
||
|
|
||
|
#self.layout.label(text=context.object.swbf_msh_skel.yolo[1])
|
||
|
|