Repe [T3DU] Update - 31f26d171bba0355ce2a77031e3aad4c64dbc7e9

This commit is contained in:
2026-09-04 10:46:13 -07:00
parent c915312901
commit 0460b9d587
482 changed files with 27797 additions and 3226 deletions

View File

@ -0,0 +1,71 @@
from lnx.logicnode.lnx_nodes import *
class ProceduralNoiseNode(LnxLogicTreeNode):
"""
Generates different kind of noises values.
repeat: Periodicity interval for seamless tiling. -1 disables repeating.
Perlin:
x: Spatial X coordinate.
y: Spatial Y coordinate.
z: Spatial Z coordinate.
OctavePerlin:
x, y, z: Spatial coordinates.
octaves: Number of noise layers combined.
persistence: Amplitude multiplier per octave (decay factor).
frequency: Base spatial scaling factor.
DiamondSquare:
width: Total grid width.
height: Total grid height.
featureSize: Initial step size for grid subdivision.
scale: Random offset amplitude scale factor.
randFunc: Random number generator function returning a Float.
"""
bl_idname = 'LNProceduralNoiseNode'
bl_label = 'Procedural Noise'
lnx_section = 'generator'
lnx_version = 1
def remove_extra_inputs(self, context):
while len(self.inputs) > 1:
self.inputs.remove(self.inputs[-1])
if self.property0 in ('Perlin', 'Octave Perlin'):
self.add_input('LnxFloatSocket', 'X')
self.add_input('LnxFloatSocket', 'Y')
self.add_input('LnxFloatSocket', 'Z')
self.add_input('LnxIntSocket', 'Repeat', default_value = -1)
if self.property0 == 'Octave Perlin':
self.add_input('LnxIntSocket', 'Octaves', default_value = 4)
self.add_input('LnxFloatSocket', 'Persistence', default_value = 0.5)
self.add_input('LnxFloatSocket', 'Frequency', default_value = 1.0)
if self.property0 == 'Diamond Square':
self.add_input('LnxIntSocket', 'X')
self.add_input('LnxIntSocket', 'Y')
self.add_input('LnxIntSocket', 'Width', default_value = 3)
self.add_input('LnxIntSocket', 'Height', default_value = 3)
self.add_input('LnxIntSocket', 'Feature Size', default_value = 2)
self.add_input('LnxFloatSocket', 'Scale', default_value = 1.0)
self.add_input('LnxFloatSocket', 'Offset', default_value = 0.5)
property0: HaxeEnumProperty(
'property0',
items = [('Perlin', 'Perlin', 'Perlin 3D'),
('Octave Perlin', 'Octave Perlin', 'Octave Perlin 3D'),
('Diamond Square', 'Diamond Square', 'Diamond Square 2D')],
name='', default='Perlin', update=remove_extra_inputs)
def lnx_init(self, context):
self.add_input('LnxNodeSocketAction', 'In')
self.add_input('LnxFloatSocket', 'X')
self.add_input('LnxFloatSocket', 'Y')
self.add_input('LnxFloatSocket', 'Z')
self.add_input('LnxIntSocket', 'Repeat', default_value = -1)
self.add_output('LnxNodeSocketAction', 'Out')
self.add_output('LnxFloatSocket', 'Value')
def draw_buttons(self, context, layout):
layout.prop(self, 'property0')