diff --git a/object_cloud_gen.py b/object_cloud_gen.py index 956120bbe5eff5e3484158d48ae2b7fb69673a0f..fef1c4577fbf84dcd6b8db99e4f375b0e7b3dddc 100644 --- a/object_cloud_gen.py +++ b/object_cloud_gen.py @@ -330,7 +330,7 @@ class GenerateCloud(bpy.types.Operator): def execute(self, context): # Make variable that is the current .blend file main data blocks - blend_data = context.blend_data + main = context.main # Make variable that is the active object selected by user active_object = context.active_object @@ -373,7 +373,7 @@ class GenerateCloud(bpy.types.Operator): for createdObj in createdObjects: totallyDeleteObject(scene, createdObj) - # Delete the blend_data object + # Delete the main object totallyDeleteObject(scene, mainObj) # Select all of the left over boxes so people can immediately @@ -404,7 +404,7 @@ class GenerateCloud(bpy.types.Operator): bounds.hide_render = False # Just add a Definition Property designating this - # as the blend_data object. + # as the main object. bounds["CloudMember"] = "MainObj" # Since we used iteration 0 to copy with object we @@ -492,7 +492,7 @@ class GenerateCloud(bpy.types.Operator): bpy.ops.object.material_slot_remove() # Add a new material. - cloudMaterial = blend_data.materials.new("CloudMaterial") + cloudMaterial = main.materials.new("CloudMaterial") bpy.ops.object.material_slot_add() bounds.material_slots[0].material = cloudMaterial @@ -510,13 +510,10 @@ class GenerateCloud(bpy.types.Operator): # Add a texture vMaterialTextureSlots = cloudMaterial.texture_slots - cloudtex = blend_data.textures.new("CloudTex", type='CLOUDS') + cloudtex = main.textures.new("CloudTex", type='CLOUDS') cloudtex.noise_type = 'HARD_NOISE' cloudtex.noise_scale = 2 - mtex = cloudMaterial.texture_slots.add() - mtex.texture = cloudtex - mtex.texture_coords = 'ORCO' - mtex.use_map_color_diffuse = True + cloudMaterial.add_texture(cloudtex, 'ORCO') # Add a force field to the points. cloudField = bounds.field @@ -533,15 +530,11 @@ class GenerateCloud(bpy.types.Operator): #bpy.ops.ptcache.bake(bake=False) # Add a Point Density texture - pDensity = blend_data.textures.new("CloudPointDensity", 'POINT_DENSITY') - - mtex = cloudMaterial.texture_slots.add() - mtex.texture = pDensity - mtex.texture_coords = 'GLOBAL' - mtex.use_map_density = True - mtex.use_rgb_to_intensity = True - mtex.texture_coords = 'GLOBAL' - + pDensity = main.textures.new("CloudPointDensity", 'POINT_DENSITY') + cloudMaterial.add_texture(pDensity, 'ORCO') + vMaterialTextureSlots[1].use_map_density = True + vMaterialTextureSlots[1].use_rgb_to_intensity = True + vMaterialTextureSlots[1].texture_coords = 'GLOBAL' pDensity.point_density.vertex_cache_space = 'WORLD_SPACE' pDensity.point_density.use_turbulence = True pDensity.point_density.noise_basis = 'VORONOI_F2' @@ -549,7 +542,7 @@ class GenerateCloud(bpy.types.Operator): pDensity.use_color_ramp = True pRamp = pDensity.color_ramp - pRamp.use_interpolation = 'LINEAR' + #pRamp.use_interpolation = 'LINEAR' pRampElements = pRamp.elements #pRampElements[1].position = .9 #pRampElements[1].color = [.18,.18,.18,.8] @@ -567,7 +560,7 @@ class GenerateCloud(bpy.types.Operator): # Set the number of particles according to the volume # of bounds. - cloudParticles.settings.amount = numParticles + cloudParticles.settings.count = numParticles pDensity.point_density.radius = (.00013764 * volumeBoundBox + .3989) * pointDensityRadiusFactor