Changed the names of files.

This commit is contained in:
CJSatnarine
2023-05-03 12:44:20 -04:00
parent ae5e516a80
commit 26a50de580
3 changed files with 76 additions and 74 deletions

View File

@@ -1,75 +1,75 @@
#Imports. #Imports.
import bpy; import bpy;
import random; import random;
# Variables: # Variables:
# Size of each cube. # Size of each cube.
size = 1; size = 1;
# Setting the x, y, and z positions. # Setting the x, y, and z positions.
x = y = z = size / 2; x = y = z = size / 2;
# Setting the number of cubes in each coordinate. # Setting the number of cubes in each coordinate.
xNum = 3; xNum = 3;
yNum = 3; yNum = 3;
zNum = 3; zNum = 3;
# Setting the initial value for the number of cubes in each recursive call. # Setting the initial value for the number of cubes in each recursive call.
cubeCount = 0; cubeCount = 0;
# Setting the maximum amount of cubes that is needed to be created. # Setting the maximum amount of cubes that is needed to be created.
numOfCubes = xNum * yNum * zNum; numOfCubes = xNum * yNum * zNum;
print(numOfCubes); print(numOfCubes);
#Function to clean the scene. This removes all of the objects, collections, materials, particles, textures, images, curves, meshes, actions, nodes, and worlds from the scene. #Function to clean the scene. This removes all of the objects, collections, materials, particles, textures, images, curves, meshes, actions, nodes, and worlds from the scene.
def cleanScene(): def cleanScene():
# Changes the mode to object mode if it is in Edit mode. # Changes the mode to object mode if it is in Edit mode.
if (bpy.context.active_object and bpy.context.active_object.mode == "EDIT"): if (bpy.context.active_object and bpy.context.active_object.mode == "EDIT"):
bpy.ops.object.editmode_toggle(); bpy.ops.object.editmode_toggle();
# Checks for hidden stuff and unhides them. # Checks for hidden stuff and unhides them.
for obj in bpy.data.objects: for obj in bpy.data.objects:
obj.hide_set(False); obj.hide_set(False);
obj.hide_select = False; obj.hide_select = False;
obj.hide_viewport = False; obj.hide_viewport = False;
# Selects all the objects and then deletes. # Selects all the objects and then deletes.
bpy.ops.object.select_all(action = "SELECT"); bpy.ops.object.select_all(action = "SELECT");
bpy.ops.object.delete(); bpy.ops.object.delete();
# Function to spawn the "ground" by creating several cubes using a nested for loop. # Function to spawn the "ground" by creating several cubes using a nested for loop.
def spawnGround(): def spawnGround():
# Iterate over each grid "cell" we want a cube at. # Iterate over each grid "cell" we want a cube at.
for x in range(xNum): for x in range(xNum):
for y in range(yNum): for y in range(yNum):
for z in range(zNum): for z in range(zNum):
# Set the location. # Set the location.
location = (x, y, z); location = (x, y, z);
# Add the cubes. # Add the cubes.
bpy.ops.mesh.primitive_cube_add(size = size, location = location, scale = (size, size, size)); bpy.ops.mesh.primitive_cube_add(size = size, location = location, scale = (size, size, size));
# Set the newly created cube as the active object. # Set the newly created cube as the active object.
activeObject = bpy.context.active_object; activeObject = bpy.context.active_object;
# Add a new material slot. # Add a new material slot.
# bpy.ops.object.material_slot_add(); # bpy.ops.object.material_slot_add();
# Creating a new material and assigning it to the active cube. # Creating a new material and assigning it to the active cube.
material = bpy.data.materials.new("Material"); material = bpy.data.materials.new("Material");
material.use_nodes = True; material.use_nodes = True;
materialNodes = material.node_tree.nodes; materialNodes = material.node_tree.nodes;
materialLinks = material.node_tree.links; materialLinks = material.node_tree.links;
activeObject.data.materials.append(material); activeObject.data.materials.append(material);
# Change the base colour. # Change the base colour.
materialNodes['Principled BSDF'].inputs['Base Color'].default_value = (1.0, 0.47, 1.0, 1.0); materialNodes['Principled BSDF'].inputs['Base Color'].default_value = (1.0, 0.47, 1.0, 1.0);
# Calling the functions: # Calling the functions:
cleanScene(); cleanScene();
spawnGround(); spawnGround();
# Notes: # Notes:
# - For loop for the grid: # - For loop for the grid:
# - x is for creating cubes in the x axis. # - x is for creating cubes in the x axis.
# - y is for creating cubes in the y axis. # - y is for creating cubes in the y axis.
# - z is for creating cubes in the z axis. # - z is for creating cubes in the z axis.
# - I need to add the materials to the cubes and somehow save it in the Blender program. # - I need to add the materials to the cubes and somehow save it in the Blender program.
# - I need to replace the nested for loop with a recursive function to spawn the ground. # - I need to replace the nested for loop with a recursive function to spawn the ground.
# - I need to add a function to create a tree in a random position. This function will create cubes and put them in a way to look like a tree. It will also assign the correct materials to their proper cubes. # - I need to add a function to create a tree in a random position. This function will create cubes and put them in a way to look like a tree. It will also assign the correct materials to their proper cubes.
# - I need to find a way to create creat and assign a single material to all the respective cubes. # - I need to find a way to create creat and assign a single material to all the respective cubes.

View File

@@ -20,3 +20,5 @@ if ob.data.materials:
else: else:
ob.data.materials.append(mat) ob.data.materials.append(mat)
# Notes:
# - Find a way to select a single face of a cube and then add the image to each face. Might have to do stuff with nodes.