22 {
33 "name" : "Spaceship Generator" ,
44 "author" : "Michael Davies, Lawrence D'Oliveiro" ,
5- "version" : (1 , 2 , 2 ),
5+ "version" : (1 , 3 , 0 ),
66 "blender" : (2 , 82 , 0 ),
77 "location" : "View3D > Add > Mesh" ,
88 "description" : "Procedurally generate 3D spaceships from a random seed." ,
1919 from . import spaceship_generator
2020#end if
2121
22+ import random
2223import bpy
2324from bpy .props import \
2425 BoolProperty , \
@@ -32,10 +33,15 @@ class GenerateSpaceship(bpy.types.Operator) :
3233 bl_options = {"REGISTER" , "UNDO" }
3334
3435 df = spaceship_generator .parms_defaults # temp short name
35- random_seed : StringProperty \
36+ geom_ranseed : StringProperty \
3637 (
37- default = df .random_seed ,
38- name = "Seed"
38+ default = df .geom_ranseed ,
39+ name = "Geometry Seed"
40+ )
41+ mat_ranseed : StringProperty \
42+ (
43+ default = df .mat_ranseed ,
44+ name = "Material Seed"
3945 )
4046 num_hull_segments_min : IntProperty \
4147 (
@@ -97,6 +103,17 @@ class GenerateSpaceship(bpy.types.Operator) :
97103 )
98104 del df
99105
106+ def invoke (self , context , event ) :
107+ maxseed = 1e6
108+ # [0 .. 999999] is enough to be interesting by
109+ # default. Users can always replace seeds with
110+ # anything they like.
111+ self .geom_ranseed = str (random .randrange (maxseed ))
112+ self .mat_ranseed = str (random .randrange (maxseed ))
113+ spaceship_generator .generate_spaceship (self )
114+ return {"FINISHED" }
115+ #end invoke
116+
100117 def execute (self , context ) :
101118 spaceship_generator .generate_spaceship (self )
102119 return {"FINISHED" }
0 commit comments