| @@ -55,15 +55,17 @@ def createMeshFromData(name, origin, verts, faces): | |||||
| me = bpy.data.meshes.new(name+'Mesh') | me = bpy.data.meshes.new(name+'Mesh') | ||||
| ob = bpy.data.objects.new(name, me) | ob = bpy.data.objects.new(name, me) | ||||
| ob.location = origin | ob.location = origin | ||||
| ob.scale = (8,8,8) | |||||
| # Link object to scene and make active | # Link object to scene and make active | ||||
| scn = bpy.context.scene | scn = bpy.context.scene | ||||
| scn.objects.link(ob) | scn.objects.link(ob) | ||||
| scn.objects.active = ob | scn.objects.active = ob | ||||
| ob.select = True | |||||
| ob.select = False | |||||
| # Create mesh from given verts, faces. | # Create mesh from given verts, faces. | ||||
| me.from_pydata(verts, [], faces) | me.from_pydata(verts, [], faces) | ||||
| # Update mesh with new data | # Update mesh with new data | ||||
| me.update() | me.update() | ||||
| @@ -75,7 +77,7 @@ def subdivide(verts, faces, iteration): | |||||
| def vecLen(vec): | def vecLen(vec): | ||||
| return sum([c**2 for c in vec])**.5 | return sum([c**2 for c in vec])**.5 | ||||
| def expandVecToLen(vec, desiredLength): | |||||
| def scaleVecToLen(vec, desiredLength): | |||||
| vecLen_now = vecLen(vec) | vecLen_now = vecLen(vec) | ||||
| return ( | return ( | ||||
| vec[0] * desiredLength / vecLen_now, | vec[0] * desiredLength / vecLen_now, | ||||
| @@ -87,9 +89,9 @@ def subdivide(verts, faces, iteration): | |||||
| vecLen_p1 = vecLen(verts[p1]) | vecLen_p1 = vecLen(verts[p1]) | ||||
| vecLen_p2 = vecLen(verts[p2]) | vecLen_p2 = vecLen(verts[p2]) | ||||
| vecLen_new = (vecLen_p1 + vecLen_p2)*.5 | vecLen_new = (vecLen_p1 + vecLen_p2)*.5 | ||||
| heightDelta = random.gauss(0,.03*(.6**iteration)) | |||||
| heightDelta = random.gauss(0,.01*(.6**iteration)) | |||||
| return expandVecToLen (( | |||||
| return scaleVecToLen (( | |||||
| (verts[p1][0] + verts[p2][0]) * .5, | (verts[p1][0] + verts[p2][0]) * .5, | ||||
| (verts[p1][1] + verts[p2][1]) * .5, | (verts[p1][1] + verts[p2][1]) * .5, | ||||
| (verts[p1][2] + verts[p2][2]) * .5 | (verts[p1][2] + verts[p2][2]) * .5 | ||||