feat: vdb in RAS not LPS

This commit is contained in:
2024-04-17 22:57:31 +08:00
parent 28b787638c
commit 5b8d107392
6 changed files with 143 additions and 97 deletions

View File

@@ -84,6 +84,7 @@ class CustomNodes():
op.node_label = item.get('label') or ""
op.node_description = item.get(
'node_description') or "Add Custom Node."
op.node_link = item.get('link') or True
op.node_callback = item.get('node_callback') or ""
menu_classes.append(Menu)
@@ -111,6 +112,7 @@ class CustomNodes():
op.nodes_file = self.nodes_file
op.node_type = item['node_type']
op.node_label = item.get('label') or ""
op.node_link = item.get('link') or True
op.node_callback = item.get('node_callback') or ""
return op.add_node(node_tree)
else:

View File

@@ -29,6 +29,11 @@ class AddCustomNode():
subtype="NONE"
) # type: ignore
node_link: bpy.props.BoolProperty(
name='node_link',
default=True
) # type: ignore
node_callback: bpy.props.StringProperty(
name='node_callback',
default=''
@@ -50,7 +55,7 @@ class AddCustomNode():
return node
def get_node_tree(self, node_type):
def get_node_tree(self, node_type, node_link):
# try to get node from current file if exists
node_tree = bpy.data.node_groups.get(node_type)
# if not exists, get it from asset file.
@@ -59,7 +64,7 @@ class AddCustomNode():
'EXEC_DEFAULT',
directory=f"{self.nodes_file}/NodeTree",
filename=node_type,
link=False,
link=node_link,
use_recursive=True
)
@@ -81,10 +86,8 @@ class AddCustomNode():
...
def add_node(self, node_tree):
self.get_node_tree(self.node_type)
self.get_node_tree(self.node_type, self.node_link)
node = node_tree.new("GeometryNodeGroup")
self.assign_node_tree(node)
return node
@@ -96,7 +99,7 @@ class CUSTOMNODES_OT_Add_Custom_Node(bpy.types.Operator, AddCustomNode):
bl_options = {"REGISTER", "UNDO"}
def execute(self, context):
self.get_node_tree(self.node_type)
self.get_node_tree(self.node_type, self.node_link)
# intended to be called upon button press in the node tree
prev_context = bpy.context.area.type