Skip to content

Commit

Permalink
Merge branch 'Dev' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
xavier150 committed Jan 31, 2024
2 parents 78196d0 + 3791120 commit 799d6a5
Show file tree
Hide file tree
Showing 58 changed files with 1,518 additions and 791 deletions.
6 changes: 5 additions & 1 deletion Release log.txt
Original file line number Diff line number Diff line change
Expand Up @@ -462,11 +462,15 @@ It is now possible to force the duration of an animation according to the scene
- New: Selection filter "Only selected" and "Only selected and active action" now filter only visible objects.
- New: Modular export (Export several skeletal meshs with the same skeleton)
- New: You can enable skeletal mesh per poly collision.
- New: Camera values Min and Max FStop is updated with Aperture.
- New: Support for ArchVis cameras (Use of shift)
- New: Support for custom cameras (Example Blueprints)
- Faster camera export.
- Fixed: Blender 3.5 may crash during NLA Export. (Interacting with an NlaStripFCurves not linked to an object could lead to a crash in Blender 3.5.)
- Fixed: Applying skeletal export scale with Proxy and Unit Scale not set to 0.01 could result in a script error.
- Fixed: Using "Convert Attribute to UV" can swap UV Indices in the exported mesh.
- Fixed: The "Export Procedure" option is visible with static meshes.
- Fixed: Hidden objects and collections are unhidden after export when using the same name.
- Fixed: Skeletons imported with skeletal meshes use incorrect names.
- Fixed: Collection.exclude is not recovery after export when using multi view layers.
- Fixed: Camera import script doesn’t work in Unreal Engine 5.3
- Fixed: Camera import script doesn’t work in Unreal Engine 5.3
3 changes: 2 additions & 1 deletion blender-for-unrealengine/Release log.txt
Original file line number Diff line number Diff line change
Expand Up @@ -476,4 +476,5 @@ It is now possible to force the duration of an animation according to the scene
- Fixed: Show Asset To Export Button do product script fail.
- Fixed: Curve mesh is duplicate durring export.
- Fixed: Script fail in Blender 4.0 when switch to global view.
- Fixed: UI script fail in Blender 2.9.
- Fixed: UI script fail in Blender 2.9.
- Fixed: Camera scale impact the focus distance.
5 changes: 5 additions & 0 deletions blender-for-unrealengine/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
from . import bfu_propertys
from . import bfu_camera
from . import bfu_collision
from . import bfu_custom_property
from . import bfu_addon_parts
from . import bfu_export_procedure
from . import bfu_addon_pref
Expand Down Expand Up @@ -66,6 +67,8 @@
importlib.reload(bfu_camera)
if "bfu_collision" in locals():
importlib.reload(bfu_collision)
if "bfu_custom_property" in locals():
importlib.reload(bfu_custom_property)
if "bfu_addon_parts" in locals():
importlib.reload(bfu_addon_parts)
if "bfu_export_procedure" in locals():
Expand Down Expand Up @@ -134,6 +137,7 @@ def register():
bfu_propertys.register()
bfu_camera.register()
bfu_collision.register()
bfu_custom_property.register()
bfu_addon_parts.register()
bfu_export_procedure.register()
bfu_addon_pref.register()
Expand All @@ -156,6 +160,7 @@ def unregister():
bfu_export_procedure.unregister()
bfu_addon_parts.unregister()
bfu_camera.unregister()
bfu_custom_property.unregister()
bfu_collision.unregister()
bfu_propertys.unregister()
bbpl.unregister()
3 changes: 3 additions & 0 deletions blender-for-unrealengine/bbpl/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import bpy
import importlib

from . import __internal__
from . import blender_layout
from . import backward_compatibility
from . import blender_rig
Expand All @@ -37,6 +38,8 @@
from . import scene_utils
from . import ui_utils

if "__internal__" in locals():
importlib.reload(__internal__)
if "blender_layout" in locals():
importlib.reload(blender_layout)
if "backward_compatibility" in locals():
Expand Down
31 changes: 31 additions & 0 deletions blender-for-unrealengine/bbpl/__internal__/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ====================== 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 3 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, see <http://www.gnu.org/licenses/>.
# All rights reserved.
#
# ======================= END GPL LICENSE BLOCK =============================

# ----------------------------------------------
# BBPL -> BleuRaven Blender Python Library
# BleuRaven.fr
# XavierLoux.com
# ----------------------------------------------

import bpy
import importlib
from . import utils

if "utils" in locals():
importlib.reload(utils)

33 changes: 33 additions & 0 deletions blender-for-unrealengine/bbpl/__internal__/utils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# ====================== 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 3 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, see <http://www.gnu.org/licenses/>.
# All rights reserved.
#
# ======================= END GPL LICENSE BLOCK =============================

# ----------------------------------------------
# BBPL -> BleuRaven Blender Python Library
# BleuRaven.fr
# XavierLoux.com
# ----------------------------------------------

import bpy

def get_package_name():
package_name = __package__
package_name = package_name.split(".")[0]
package_name = package_name.lower().replace("-", "")
return package_name


16 changes: 11 additions & 5 deletions blender-for-unrealengine/bbpl/blender_layout/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,17 @@

import bpy
import importlib
from . import layout_expend_section
from . import layout_accordion
from . import layout_template_list
from . import layout_doc_button

if "layout_expend_section" in locals():
importlib.reload(layout_expend_section)
if "layout_accordion" in locals():
importlib.reload(layout_accordion)
if "layout_template_list" in locals():
importlib.reload(layout_template_list)
if "layout_doc_button" in locals():
importlib.reload(layout_doc_button)



classes = (
Expand All @@ -42,12 +46,14 @@ def register():
for cls in classes:
bpy.utils.register_class(cls)

layout_expend_section.register()
layout_accordion.register()
layout_template_list.register()
layout_doc_button.register()

def unregister():
for cls in reversed(classes):
bpy.utils.unregister_class(cls)

layout_expend_section.unregister()
layout_doc_button.unregister()
layout_template_list.unregister()
layout_accordion.unregister()
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,29 @@
import bpy
import importlib
from . import types
from . import functions
from . import utils
from .functions import *

if "types" in locals():
importlib.reload(types)
if "functions" in locals():
importlib.reload(functions)
if "utils" in locals():
importlib.reload(utils)

classes = (
)

def register():
for cls in classes:
bpy.utils.register_class(cls)

types.register()


def unregister():
for cls in reversed(classes):
bpy.utils.unregister_class(cls)
bpy.utils.unregister_class(cls)

types.unregister()
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# ====================== 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 3 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, see <http://www.gnu.org/licenses/>.
# All rights reserved.
#
# ======================= END GPL LICENSE BLOCK =============================

# ----------------------------------------------
# BBPL -> BleuRaven Blender Python Library
# BleuRaven.fr
# XavierLoux.com
# ----------------------------------------------

import bpy
from . import types

def add_ui_accordion(name: str=""):
return bpy.props.PointerProperty(type=types.get_layout_accordion_class(), name=name)
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# ====================== 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 3 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, see <http://www.gnu.org/licenses/>.
# All rights reserved.
#
# ======================= END GPL LICENSE BLOCK =============================

# ----------------------------------------------
# BBPL -> BleuRaven Blender Python Library
# BleuRaven.fr
# XavierLoux.com
# ----------------------------------------------

import bpy
from . import utils
from ... import __internal__

layout_accordion_class = None

def get_layout_accordion_class():
global layout_accordion_class
return layout_accordion_class


def create_ui_accordion_class():
# Create an custom class ussing addon name for avoid name collision.

class CustomAccordionUI_PropertyGroup(bpy.types.PropertyGroup):
expend: bpy.props.BoolProperty(
name="Use",
description="Click to expand / collapse",
default=False
)

def get_name(self):
if bpy.app.version >= (3, 0, 0):
prop_rna = self.id_data.bl_rna.properties[self.id_properties_ensure().name]
return prop_rna.name
else:
prop_rna = self.id_data.bl_rna.properties[self.path_from_id()]
return prop_rna.name


def draw(self, layout: bpy.types.UILayout):
tria_icon = "TRIA_DOWN" if self.expend else "TRIA_RIGHT"
description = "Click to collapse" if self.expend else "Click to expand"
layout.row().prop(self, "expend", icon=tria_icon, icon_only=True, text=self.get_name(), emboss=False, toggle=True, expand=True)
if self.expend:
pass

def is_expend(self):
return self.expend

CustomAccordionUI_PropertyGroup.__name__ = utils.get_class_name()
return CustomAccordionUI_PropertyGroup

classes = (
)

def register():
global layout_accordion_class
for cls in classes:
bpy.utils.register_class(cls)

BBPL_UI_Accordion = create_ui_accordion_class()
layout_accordion_class = BBPL_UI_Accordion
bpy.utils.register_class(BBPL_UI_Accordion)



def unregister():
for cls in reversed(classes):
bpy.utils.unregister_class(cls)
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# ====================== 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 3 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, see <http://www.gnu.org/licenses/>.
# All rights reserved.
#
# ======================= END GPL LICENSE BLOCK =============================

# ----------------------------------------------
# BBPL -> BleuRaven Blender Python Library
# BleuRaven.fr
# XavierLoux.com
# ----------------------------------------------

import bpy

from ... import __internal__

def get_class_name():
package_name = __internal__.utils.get_package_name()
return f"BBPL_UI_{package_name}_Accordion"

Loading

0 comments on commit 799d6a5

Please sign in to comment.