Changed the names of files.
This commit is contained in:
@@ -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.
|
@@ -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.
|
Reference in New Issue
Block a user