Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ant_landscape/__init__.py11
-rw-r--r--ant_landscape/add_mesh_ant_landscape.py11
-rw-r--r--ant_landscape/ant_functions.py15
-rw-r--r--ant_landscape/ant_landscape_refresh.py28
-rw-r--r--ant_landscape/mesh_ant_displace.py29
-rw-r--r--presets/operator/mesh.landscape_add/canions.py8
-rw-r--r--presets/operator/mesh.landscape_add/cauliflower_hills.py20
-rw-r--r--presets/operator/mesh.landscape_add/cosine.py4
-rw-r--r--presets/operator/mesh.landscape_add/mountain_2.py4
-rw-r--r--presets/operator/mesh.landscape_add/rock.py8
10 files changed, 55 insertions, 83 deletions
diff --git a/ant_landscape/__init__.py b/ant_landscape/__init__.py
index 60dd81a1..25d4be9b 100644
--- a/ant_landscape/__init__.py
+++ b/ant_landscape/__init__.py
@@ -21,7 +21,7 @@
bl_info = {
"name": "A.N.T.Landscape",
- "author": "Jim Hazevoet",
+ "author": "Jimmy Hazevoet",
"version": (0, 1, 8),
"blender": (2, 78, 0),
"location": "View3D > Tool Shelf",
@@ -375,7 +375,7 @@ class AntDisplaceSettingsPanel(bpy.types.Panel):
col = box.column()
col.prop(ant, "strata")
col = box.column()
- col.prop(ant, "use_vgroup", toggle=True)
+ col.prop_search(ant, "vert_group", ob, "vertex_groups")
# ------------------------------------------------------------
@@ -724,10 +724,9 @@ class AntLandscapePropertiesGroup(bpy.types.PropertyGroup):
max=10000.0,
description="Minimum, flattens terrain at seabed level"
)
- use_vgroup = BoolProperty(
- name="Vertex Group Weight",
- default=False,
- description="Use active vertex group weight"
+ vert_group = StringProperty(
+ name="Vertex Group",
+ default=""
)
strata = FloatProperty(
name="Amount",
diff --git a/ant_landscape/add_mesh_ant_landscape.py b/ant_landscape/add_mesh_ant_landscape.py
index 7fc4a268..dee82a55 100644
--- a/ant_landscape/add_mesh_ant_landscape.py
+++ b/ant_landscape/add_mesh_ant_landscape.py
@@ -392,10 +392,9 @@ class AntAddLandscape(bpy.types.Operator):
max=10000.0,
description="Minimum, flattens terrain at seabed level"
)
- use_vgroup = BoolProperty(
- name="Vertex Group Weight",
- default=False,
- description="Use active vertex group weight"
+ vert_group = StringProperty(
+ name="Vertex Group",
+ default=""
)
strata = FloatProperty(
name="Amount",
@@ -536,10 +535,10 @@ class AntAddLandscape(bpy.types.Operator):
self.strata,
self.water_plane,
self.water_level,
- self.use_vgroup,
+ self.vert_group,
self.remove_double
]
-
+
scene = context.scene
# Main function, create landscape mesh object
diff --git a/ant_landscape/ant_functions.py b/ant_landscape/ant_functions.py
index ce7751af..8adacc0b 100644
--- a/ant_landscape/ant_functions.py
+++ b/ant_landscape/ant_functions.py
@@ -20,7 +20,7 @@
# Jimmy Hazevoet
# ErosionR:
-# Michel Anders (varkenvarken), Ian Huish (nerk)
+# Michel Anders, Ian Huish
# import modules
import bpy
@@ -279,7 +279,7 @@ def shapes(x, y, z, shape=0):
y = y * p * 2
s = sin(x + sin(y))
elif shape is 5:
- # x grad.
+ # z grad.
s = (z * p)
elif shape is 6:
# y grad.
@@ -878,7 +878,7 @@ def draw_ant_displace(self, context, generate=True):
if not generate:
col = box.column(align=False)
- col.prop(self, "use_vgroup", toggle=True)
+ col.prop_search(self, "vert_group", bpy.context.object, "vertex_groups")
def draw_ant_water(self, context):
@@ -944,19 +944,18 @@ def store_properties(operator, ob):
ob.ant_landscape.strata = operator.strata
ob.ant_landscape.water_plane = operator.water_plane
ob.ant_landscape.water_level = operator.water_level
- ob.ant_landscape.use_vgroup = operator.use_vgroup
+ ob.ant_landscape.vert_group = operator.vert_group
ob.ant_landscape.remove_double = operator.remove_double
return ob
# ------------------------------------------------------------
# "name": "ErosionR"
-# "author": "Michel Anders (varkenvarken), Ian Huish (nerk)"
-
+# "author": "Michel Anders, Ian Huish"
+
from random import random as rand
from math import tan, radians
from .eroder import Grid
-#print("Imported multifiles", file=sys.stderr)
from .stats import Stats
from .utils import numexpr_available
@@ -1135,8 +1134,6 @@ class Eroder(bpy.types.Operator):
stats = Stats()
counts= {}
- # add poll function to restrict action to mesh object in object mode
-
def execute(self, context):
ob = context.active_object
diff --git a/ant_landscape/ant_landscape_refresh.py b/ant_landscape/ant_landscape_refresh.py
index e3ff5366..b809619e 100644
--- a/ant_landscape/ant_landscape_refresh.py
+++ b/ant_landscape/ant_landscape_refresh.py
@@ -19,7 +19,6 @@
# Another Noise Tool - Landscape Redraw - Regenerate
# Jimmy Hazevoet
-
# ------------------------------------------------------------
# import modules
import bpy
@@ -61,9 +60,6 @@ class AntLandscapeRefresh(bpy.types.Operator):
if obj and obj.ant_landscape.keys():
ob = obj.ant_landscape
obi = ob.items()
- #print("Refresh A.N.T. Landscape Grid")
- #for k in obi.keys():
- # print(k, "-", obi[k])
prop = []
for i in range(len(obi)):
prop.append(obi[i][1])
@@ -71,15 +67,14 @@ class AntLandscapeRefresh(bpy.types.Operator):
# redraw verts
mesh = obj.data
- if ob['use_vgroup']:
- vertex_group = obj.vertex_groups.active
- if vertex_group:
- gi = vertex_group.index
- for v in mesh.vertices:
- for g in v.groups:
- if g.group == gi:
- v.co[2] = 0.0
- v.co[2] = vertex_group.weight(v.index) * noise_gen(v.co, prop)
+ if ob['vert_group'] != "" and ob['vert_group'] in obj.vertex_groups:
+ vertex_group = obj.vertex_groups[ob['vert_group']]
+ gi = vertex_group.index
+ for v in mesh.vertices:
+ for g in v.groups:
+ if g.group == gi:
+ v.co[2] = 0.0
+ v.co[2] = vertex_group.weight(v.index) * noise_gen(v.co, prop)
else:
for v in mesh.vertices:
v.co[2] = 0
@@ -121,14 +116,11 @@ class AntLandscapeRegenerate(bpy.types.Operator):
if obj and obj.ant_landscape.keys():
ob = obj.ant_landscape
obi = ob.items()
- #print("Regenerate A.N.T. Landscape Grid")
- #for k in obi.keys():
- # print(k, "-", obi[k])
ant_props = []
for i in range(len(obi)):
ant_props.append(obi[i][1])
- new_name = obj.name #ob.ant_terrain_name
+ new_name = obj.name
# Main function, create landscape mesh object
if ob['sphere_mesh']:
@@ -222,7 +214,6 @@ class AntLandscapeRegenerate(bpy.types.Operator):
wobj.scale = obj.scale
wobj.select = False
-
new_ob.location = obj.location
new_ob.rotation_euler = obj.rotation_euler
new_ob.scale = obj.scale
@@ -236,7 +227,6 @@ class AntLandscapeRegenerate(bpy.types.Operator):
obj.select = True
scene.objects.active = obj
bpy.ops.object.delete(use_global=False)
- #scene.update()
# Select landscape and make active
new_ob.select = True
diff --git a/ant_landscape/mesh_ant_displace.py b/ant_landscape/mesh_ant_displace.py
index a0ecebb4..7e1439b4 100644
--- a/ant_landscape/mesh_ant_displace.py
+++ b/ant_landscape/mesh_ant_displace.py
@@ -388,10 +388,9 @@ class AntMeshDisplace(bpy.types.Operator):
max=10000.0,
description="Minimum, flattens terrain at seabed level"
)
- use_vgroup = BoolProperty(
- name="Vertex Group Weight",
- default=False,
- description="Use active vertex group weight"
+ vert_group = StringProperty(
+ name="Vertex Group",
+ default=""
)
strata = FloatProperty(
name="Amount",
@@ -424,11 +423,7 @@ class AntMeshDisplace(bpy.types.Operator):
max=10000.0,
description="Water level"
)
- remove_double = BoolProperty(
- name="Remove Doubles",
- default=False,
- description="Remove doubles"
- )
+
direction = EnumProperty(
name="Direction",
default="NORMAL",
@@ -544,22 +539,14 @@ class AntMeshDisplace(bpy.types.Operator):
self.strata,
self.water_plane,
self.water_level,
- self.use_vgroup,
- self.remove_double
+ self.vert_group
]
- '''
- gi = ob.vertex_groups["Group"].index # get group index
- for v in ob.data.vertices:
- for g in v.groups:
- if g.group == gi: # compare with index in VertexGroupElement
- v.co[0] = 5
- '''
# do displace
mesh = ob.data
- if self.use_vgroup is True:
- vertex_group = ob.vertex_groups.active
+ if self.vert_group != "" and self.vert_group in ob.vertex_groups:
+ vertex_group = ob.vertex_groups[self.vert_group]
if vertex_group:
gi = vertex_group.index
if self.direction == "X":
@@ -597,7 +584,7 @@ class AntMeshDisplace(bpy.types.Operator):
for v in mesh.vertices:
v.co += v.normal * noise_gen(v.co, props)
- mesh.update()
+ mesh.update()
if self.auto_refresh is False:
self.refresh = False
diff --git a/presets/operator/mesh.landscape_add/canions.py b/presets/operator/mesh.landscape_add/canions.py
index 97324bba..b778acfa 100644
--- a/presets/operator/mesh.landscape_add/canions.py
+++ b/presets/operator/mesh.landscape_add/canions.py
@@ -21,7 +21,7 @@ op.noise_offset_z = 0.0
op.noise_size_x = 1.0
op.noise_size_y = 1.0
op.noise_size_z = 1.0
-op.noise_size = 0.75
+op.noise_size = 0.5
op.noise_type = 'hetero_terrain'
op.basis_type = '2'
op.vl_basis_type = '9'
@@ -41,12 +41,12 @@ op.height = 0.5
op.height_invert = False
op.height_offset = -0.0
op.edge_falloff = '3'
-op.falloff_x = 16.0
-op.falloff_y = 16.0
+op.falloff_x = 8.0
+op.falloff_y = 8.0
op.edge_level = 0.0
op.maximum = 0.5
op.minimum = -0.5
-op.use_vgroup = False
+op.vert_group = ''
op.strata = 2.0
op.strata_type = '2'
op.water_plane = False
diff --git a/presets/operator/mesh.landscape_add/cauliflower_hills.py b/presets/operator/mesh.landscape_add/cauliflower_hills.py
index 2371b0d3..bcefeb80 100644
--- a/presets/operator/mesh.landscape_add/cauliflower_hills.py
+++ b/presets/operator/mesh.landscape_add/cauliflower_hills.py
@@ -22,31 +22,31 @@ op.noise_size_x = 1.0
op.noise_size_y = 1.0
op.noise_size_z = 1.0
op.noise_size = 0.5
-op.noise_type = 'multi_fractal'
+op.noise_type = 'hybrid_multi_fractal'
op.basis_type = '3'
op.vl_basis_type = '0'
op.distortion = 1.0
op.hard_noise = '0'
-op.noise_depth = 5
+op.noise_depth = 6
op.amplitude = 0.5
op.frequency = 2.0
op.dimension = 1.0
op.lacunarity = 5.0
op.offset = 1.0
-op.gain = 1.0
-op.marble_bias = '0'
-op.marble_sharp = '0'
-op.marble_shape = '0'
-op.height = 0.20000000298023224
+op.gain = 2.0
+op.marble_bias = '1'
+op.marble_sharp = '3'
+op.marble_shape = '3'
+op.height = 0.25
op.height_invert = True
op.height_offset = 0.0
op.edge_falloff = '3'
-op.falloff_x = 8.0
-op.falloff_y = 8.0
+op.falloff_x = 6.0
+op.falloff_y = 6.0
op.edge_level = 0.0
op.maximum = 1.0
op.minimum = -1.0
-op.use_vgroup = False
+op.vert_group = ''
op.strata = 5.0
op.strata_type = '0'
op.water_plane = False
diff --git a/presets/operator/mesh.landscape_add/cosine.py b/presets/operator/mesh.landscape_add/cosine.py
index 0d72493a..71f4a734 100644
--- a/presets/operator/mesh.landscape_add/cosine.py
+++ b/presets/operator/mesh.landscape_add/cosine.py
@@ -37,7 +37,7 @@ op.gain = 1.0
op.marble_bias = '1'
op.marble_sharp = '0'
op.marble_shape = '7'
-op.height = 1.0
+op.height = 0.5
op.height_invert = False
op.height_offset = 0.0
op.edge_falloff = '0'
@@ -46,7 +46,7 @@ op.falloff_y = 20.0
op.edge_level = 0.0
op.maximum = 1.0
op.minimum = 0.0
-op.use_vgroup = False
+op.vert_group = ''
op.strata = 5.0
op.strata_type = '0'
op.water_plane = False
diff --git a/presets/operator/mesh.landscape_add/mountain_2.py b/presets/operator/mesh.landscape_add/mountain_2.py
index 521c961d..d318b22e 100644
--- a/presets/operator/mesh.landscape_add/mountain_2.py
+++ b/presets/operator/mesh.landscape_add/mountain_2.py
@@ -25,7 +25,7 @@ op.noise_size = 1.0
op.noise_type = 'vl_hTerrain'
op.basis_type = '0'
op.vl_basis_type = '3'
-op.distortion = 1.5
+op.distortion = 1.0
op.hard_noise = '1'
op.noise_depth = 8
op.amplitude = 0.5
@@ -46,7 +46,7 @@ op.falloff_y = 2.5
op.edge_level = 0.0
op.maximum = 1.0
op.minimum = 0.0
-op.use_vgroup = False
+op.vert_group = ''
op.strata = 0.5
op.strata_type = '3'
op.water_plane = False
diff --git a/presets/operator/mesh.landscape_add/rock.py b/presets/operator/mesh.landscape_add/rock.py
index 9533aea5..218110d0 100644
--- a/presets/operator/mesh.landscape_add/rock.py
+++ b/presets/operator/mesh.landscape_add/rock.py
@@ -35,8 +35,8 @@ op.lacunarity = 2.0
op.offset = 1.0
op.gain = 3.0
op.marble_bias = '0'
-op.marble_sharp = '0'
-op.marble_shape = '0'
+op.marble_sharp = '3'
+op.marble_shape = '3'
op.height = 2.5
op.height_invert = False
op.height_offset = 0.0
@@ -46,8 +46,8 @@ op.falloff_y = 4.0
op.edge_level = 0.0
op.maximum = 3.0
op.minimum = -1.0
-op.use_vgroup = False
-op.strata = 5.0
+op.vert_group = ''
+op.strata = 15.0
op.strata_type = '0'
op.water_plane = False
op.water_level = -0.019999999552965164