[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2997] contrib/py/scripts/addons/ particle_hair_lab.py: SVN maintenance.
gsr b3d
gsr.b3d at infernal-iceberg.com
Sat Feb 18 03:00:12 CET 2012
Revision: 2997
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2997
Author: gsrb3d
Date: 2012-02-18 02:00:07 +0000 (Sat, 18 Feb 2012)
Log Message:
-----------
SVN maintenance.
Modified Paths:
--------------
contrib/py/scripts/addons/particle_hair_lab.py
Property Changed:
----------------
contrib/py/scripts/addons/particle_hair_lab.py
Modified: contrib/py/scripts/addons/particle_hair_lab.py
===================================================================
--- contrib/py/scripts/addons/particle_hair_lab.py 2012-02-17 23:12:41 UTC (rev 2996)
+++ contrib/py/scripts/addons/particle_hair_lab.py 2012-02-18 02:00:07 UTC (rev 2997)
@@ -1,1506 +1,1506 @@
-# ##### 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 2
-# 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, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-bl_info = {
- "name": "Grass Lab",
- "author": "Ondrej Raha(lokhorn), meta-androcto",
- "version": (0,5),
- "blender": (2, 6, 0),
- "api": 42149,
- "location": "View3D > Tool Shelf > Grass Preset Panel",
- "description": "Creates particle grass with material",
- "warning": "",
- "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/Object/grass_Lab",
- "tracker_url": "",
- "category": "Object"}
-
-
-import bpy
-from bpy.props import *
-
-# Returns the action we want to take
-def getActionToDo(obj):
- if not obj or obj.type != 'MESH':
- return 'NOT_OBJ_DO_NOTHING'
- elif obj.type == 'MESH':
- return 'GENERATE'
- else:
- return "DO_NOTHING"
-
-# TO DO
-"""
-class saveSelectionPanel(bpy.types.Panel):
- bl_space_type = 'VIEW_3D'
- bl_region_type = 'TOOLS'
-
- bl_label = "Selection Save"
- bl_options = {"DEFAULT_CLOSED"}
- bl_context = "particlemode"
-
-
- def draw(self, context):
- layout = self.layout
- col = layout.column(align=True)
-
- col.operator("save.selection", text="Save Selection 1")
-"""
-######GRASS########################
-class grassLabPanel(bpy.types.Panel):
- bl_space_type = 'VIEW_3D'
- bl_region_type = 'TOOLS'
-
- bl_label = "Grass Lab"
- bl_context = "objectmode"
-
-
- def draw(self, context):
- active_obj = bpy.context.active_object
- active_scn = bpy.context.scene.name
- layout = self.layout
- col = layout.column(align=True)
-
- WhatToDo = getActionToDo(active_obj)
-
-
- if WhatToDo == "GENERATE":
- col.operator("grass.generate_grass", text="Create grass")
-
- col.prop(context.scene, "grass_type")
- else:
- col.label(text="Select mesh object")
-
- if active_scn == "TestgrassScene":
- col.operator("grass.switch_back", text="Switch back to scene")
- else:
- col.operator("grass.test_scene", text="Create Test Scene")
-
-# TO DO
-"""
-class saveSelection(bpy.types.Operator):
- bl_idname = "save.selection"
- bl_label = "Save Selection"
- bl_description = "Save selected particles"
- bl_register = True
- bl_undo = True
-
- def execute(self, context):
-
- return {"FINISHED"}
-"""
-class testScene1(bpy.types.Operator):
- bl_idname = "grass.switch_back"
- bl_label = "Switch back to scene"
- bl_description = "If you want keep this scene, switch scene in info window"
- bl_register = True
- bl_undo = True
-
- def execute(self, context):
- scene = bpy.context.scene
- bpy.data.scenes.remove(scene)
-
- return {"FINISHED"}
-
-
-class testScene2(bpy.types.Operator):
- bl_idname = "grass.test_scene"
- bl_label = "Create test scene"
- bl_description = "You can switch scene in info panel"
- bl_register = True
- bl_undo = True
-
- def execute(self, context):
-# add new scene
- bpy.ops.scene.new(type="NEW")
- scene = bpy.context.scene
- scene.name = "TestgrassScene"
-# render settings
- render = scene.render
- render.resolution_x = 1920
- render.resolution_y = 1080
- render.resolution_percentage = 50
-# add new world
- world = bpy.data.worlds.new("grassWorld")
- scene.world = world
- world.use_sky_blend = True
- world.use_sky_paper = True
- world.horizon_color = (0.004393,0.02121,0.050)
- world.zenith_color = (0.03335,0.227,0.359)
-
-# add text
- bpy.ops.object.text_add(location=(-0.292,0,-0.152), rotation =(1.571,0,0))
- text = bpy.context.active_object
- text.scale = (0.05,0.05,0.05)
- text.data.body = "Grass Lab"
-
-# add material to text
- textMaterial = bpy.data.materials.new('textMaterial')
- text.data.materials.append(textMaterial)
- textMaterial.use_shadeless = True
-
-# add camera
- bpy.ops.object.camera_add(location = (0,-1,0),rotation = (1.571,0,0))
- cam = bpy.context.active_object.data
- cam.lens = 50
- cam.draw_size = 0.1
-
-# add spot lamp
- bpy.ops.object.lamp_add(type="SPOT", location = (-0.7,-0.5,0.3), rotation =(1.223,0,-0.960))
- lamp1 = bpy.context.active_object.data
- lamp1.name = "Key Light"
- lamp1.energy = 1.5
- lamp1.distance = 1.5
- lamp1.shadow_buffer_soft = 5
- lamp1.shadow_buffer_size = 8192
- lamp1.shadow_buffer_clip_end = 1.5
- lamp1.spot_blend = 0.5
-
-# add spot lamp2
- bpy.ops.object.lamp_add(type="SPOT", location = (0.7,-0.6,0.1), rotation =(1.571,0,0.785))
- lamp2 = bpy.context.active_object.data
- lamp2.name = "Fill Light"
- lamp2.color = (0.874,0.874,1)
- lamp2.energy = 0.5
- lamp2.distance = 1.5
- lamp2.shadow_buffer_soft = 5
- lamp2.shadow_buffer_size = 4096
- lamp2.shadow_buffer_clip_end = 1.5
- lamp2.spot_blend = 0.5
-
-# light Rim
- """
- # add spot lamp3
- bpy.ops.object.lamp_add(type="SPOT", location = (0.191,0.714,0.689), rotation =(0.891,0,2.884))
- lamp3 = bpy.context.active_object.data
- lamp3.name = "Rim Light"
- lamp3.color = (0.194,0.477,1)
- lamp3.energy = 3
- lamp3.distance = 1.5
- lamp3.shadow_buffer_soft = 5
- lamp3.shadow_buffer_size = 4096
- lamp3.shadow_buffer_clip_end = 1.5
- lamp3.spot_blend = 0.5
- """
-# add sphere
-# add sphere
- bpy.ops.mesh.primitive_uv_sphere_add(size=0.1)
- bpy.ops.object.shade_smooth()
-
- return {"FINISHED"}
-
-
-class Generategrass(bpy.types.Operator):
- bl_idname = "grass.generate_grass"
- bl_label = "Generate grass"
- bl_description = "Create a grass"
- bl_register = True
- bl_undo = True
-
- def execute(self, context):
-# Make variable that is the current .blend file main data blocks
- blend_data = context.blend_data
- ob = bpy.context.active_object
- scene = context.scene
-
-######################################################################
-########################Test screen grass########################
- if scene.grass_type == '0':
-
-###############Create New Material##################
-# add new material
- grassMaterial = bpy.data.materials.new('greengrassMat')
- ob.data.materials.append(grassMaterial)
-
-#Material settings
- grassMaterial.preview_render_type = "HAIR"
- grassMaterial.diffuse_color = (0.09710, 0.288, 0.01687)
- grassMaterial.specular_color = (0.604, 0.465, 0.136)
- grassMaterial.specular_intensity = 0.3
- grassMaterial.ambient = 0
- grassMaterial.use_cubic = True
- grassMaterial.use_transparency = True
- grassMaterial.alpha = 0
- grassMaterial.use_transparent_shadows = True
- #strand
- grassMaterial.strand.use_blender_units = True
- grassMaterial.strand.root_size = 0.00030
- grassMaterial.strand.tip_size = 0.00010
- grassMaterial.strand.size_min = 0.7
- grassMaterial.strand.width_fade = 0.1
- grassMaterial.strand.shape = 0.061
- grassMaterial.strand.blend_distance = 0.001
-
-
-# add texture
- grassTex = bpy.data.textures.new("greengrassTex", type='BLEND')
- grassTex.use_preview_alpha = True
- grassTex.use_color_ramp = True
- ramp = grassTex.color_ramp
- rampElements = ramp.elements
- rampElements[0].position = 0
- rampElements[0].color = [0.114,0.375,0.004025,0.38]
- rampElements[1].position = 1
- rampElements[1].color = [0.267,0.155,0.02687,0]
- rampElement1 = rampElements.new(0.111)
- rampElement1.color = [0.281,0.598,0.03157,0.65]
- rampElement2 = rampElements.new(0.366)
- rampElement2.color = [0.119,0.528,0.136,0.87]
- rampElement3 = rampElements.new(0.608)
- rampElement3.color = [0.247,0.713,0.006472,0.8]
- rampElement4 = rampElements.new(0.828)
- rampElement4.color = [0.01943,0.163,0.01242,0.64]
-
-# add texture to material
- MTex = grassMaterial.texture_slots.add()
- MTex.texture = grassTex
- MTex.texture_coords = "STRAND"
- MTex.use_map_alpha = True
-
-
-
-############### Create Particles ##################
-# Add new particle system
-
- NumberOfMaterials = 0
- for i in ob.data.materials:
- NumberOfMaterials +=1
-
-
- bpy.ops.object.particle_system_add()
-#Particle settings setting it up!
- grassParticles = bpy.context.object.particle_systems.active
- grassParticles.name = "greengrassPar"
- grassParticles.settings.type = "HAIR"
- grassParticles.settings.use_advanced_hair = True
- grassParticles.settings.count = 500
- grassParticles.settings.normal_factor = 0.05
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list