@vivekcsein-logo
  • Home
  • About
  • Development

    • Web Development
    • Performance & Optimization
    • Backend & APIs
    • Authentication & Security

    Specialized

    • SEO & Ad Monetization
    • AR Experiences
    • Animation
    • Figma to Code
  • Articles
  • Projects
  • Marketplace
  • Contact
@vivekcsein-logo

A portfolio full stack developer with a passion for building scalable and high-performance web applications.

Explore

  • Home
  • About

Services

  • Web Development
  • Backend & APIs
  • Performance Optimization
  • Security & Authentication

Connect

  • Contact
  • Privacy
  • Terms
  • Home
  • About
  • Web Development
  • Backend & APIs
  • Performance Optimization
  • Security & Authentication
  • Contact
  • Privacy
  • Terms

© @vivekcsein. All rights reserved.

  • Home
  • All Articles47
  • Featured
  • Recently Added
  • Most Read
  • Bookmarks
Topics
  • Interview3
  • 3d4
    • 3D Homepage Models
    • Setting Up 3D Elements (GLB Models)
    • Creating 3D Models with Python Prompts in Blender
    • Vivek Portfolio --- Blender 3D Model Prompt Library
  • Ai Prompts2
  • Business3
  • Deployment1
  • Dev2
  • Frontend5
  • Getting Started2
  • Security2
  • Seo2
  • Workflow10
  • Backend1
  • Deployment1
  • Security1
  • Javascript1
  • Client Advisory5
  • Engineering2
Collections
  • Docs
  • Tutorials
  • Resources
  • Articles
“A better developer every single day.”
— Vivek
  1. Docs
  2. 3d
  3. Creating 3D Models with Python Prompts in Blender
3d

Creating 3D Models with Python Prompts in Blender

A beginner's guide to creating 3D models in Blender by turning natural-language prompts into Python scripts, with basic shapes, a coffee mug project and a 4-week plan.

Updated Sep 12, 202619 min read
On this page

On this page

  • A Complete Beginner's Guide
  • 6.1 Prompt
  • 6.2 Python
  • 6.3 Blender
  • 8.1 3D Viewport
  • 8.2 Outliner
  • 8.3 Properties
  • 8.4 Timeline
  • 8.5 Editor Area
  • Cube
  • Sphere
  • Cylinder
  • Cone
  • Torus
  • Project 1 — Coffee Mug
  • Prompt 1
  • Prompt 2
  • Prompt 3
  • Prompt 4
  • Prompt 5
  • Prompt 6
  • Python Console
  • Text Editor
  • Week 1 — Blender Basics
  • Week 2 — Python + Blender
  • Week 3 — Scene Generation
  • Week 4 — AI-Assisted Modeling
  • Mistake 1 — Starting with a Human
  • Mistake 2 — Asking AI for Everything at Once
  • Mistake 3 — Not Reading Errors
  • Mistake 4 — Not Naming Objects
  • Mistake 5 — Ignoring Optimization
  • The Goal

A Complete Beginner's Guide#

Learn how to create 3D models in Blender using Python scripts generated from natural-language prompts.

You don't need previous Blender or Python experience for this guide.


1. What Are We Building?

Our workflow will look like this:

text
Your Idea
   ↓
Natural Language Prompt
   ↓
AI
   ↓
Blender Python Script
   ↓
Blender
   ↓
3D Model
   ↓
Materials + Lighting + Camera
   ↓
Final Render / Export

For example, you might tell an AI:

Create a futuristic low-poly robot sitting on a circular platform. The robot should have a metallic body, glowing blue eyes, two arms, two legs, and a small antenna.

The AI can turn that description into Python code.

You then run the Python code inside Blender.

Blender creates the objects automatically.


2. What Is Blender?

Blender is a free and open-source 3D creation application.

It can be used for:

  • 3D modeling
  • Animation
  • Rendering
  • Materials
  • Lighting
  • Sculpting
  • Visual effects
  • Game assets
  • Product visualization
  • Motion graphics
  • Simulations

For our purposes, Blender will be the 3D environment that executes our Python scripts.


3. What Is Blender Python?

Blender contains its own Python API.

This means Python can control many parts of Blender.

For example:

python
import bpy

bpy.ops.mesh.primitive_cube_add()

cube = bpy.context.object

cube.name = "My Cube"

This script tells Blender:

  1. Create a cube.
  2. Get the newly created object.
  3. Rename it to My Cube.

Instead of manually clicking:

text
Add
 → Mesh
 → Cube

Python can do it automatically.


4. Why Use Python for 3D Modeling?

Traditional Blender modeling often looks like:

text
Click
Drag
Move
Rotate
Scale
Extrude
Repeat

Python allows you to describe the same process programmatically.

For example:

python
import bpy

bpy.ops.mesh.primitive_cube_add(
    location=(0, 0, 1)
)

cube = bpy.context.object

cube.scale = (2, 2, 1)

This creates a cube and changes its position and size.

Python becomes especially useful when:

  • Creating repetitive objects
  • Generating procedural models
  • Creating many variations
  • Building scenes automatically
  • Creating architectural objects
  • Creating game assets
  • Creating simple mechanical objects
  • Generating environments
  • Automating materials
  • Automating lighting
  • Creating complete scenes

5. What Does "Prompt-Based 3D Modeling" Mean?

Prompt-based modeling means using natural language to describe the desired result.

For example:

text
Create a futuristic sci-fi drone.

That sentence alone is not Blender Python.

Instead, we give the AI a more useful instruction:

text
Create a Blender Python script that generates
a futuristic sci-fi drone.

Use primitive meshes such as:
- cubes
- cylinders
- spheres

The drone should have:
- a central body
- four arms
- four engines
- small landing legs
- a camera on the front

Use clean object names and organize
the generated objects into a collection.

The AI can then generate Blender-compatible Python.


6. The Three Important Pieces

There are three different technologies involved.

6.1 Prompt#

The prompt describes what you want.

Example:

text
Create a stylized medieval treasure chest.

6.2 Python#

Python tells Blender how to construct the object.

Example:

python
bpy.ops.mesh.primitive_cube_add()

6.3 Blender#

Blender executes the Python commands and creates the actual 3D scene.

Think of it like this:

text
Prompt
  ↓
Instructions for AI

AI
  ↓
Python code

Python
  ↓
Instructions for Blender

Blender
  ↓
3D objects

7. Installing Blender

Download Blender from the official Blender website.

Blender Official Website

Install Blender normally.

After opening Blender, you should see a default scene containing:

  • Cube
  • Camera
  • Light

8. Understanding the Blender Interface

Before writing code, understand five basic areas.

8.1 3D Viewport#

This is where your 3D objects appear.

You can:

  • Rotate the view
  • Zoom
  • Move around
  • Select objects
  • Edit meshes

8.2 Outliner#

The Outliner shows objects in your scene.

For example:

text
Scene Collection
├── Camera
├── Cube
└── Light

When Python creates objects, they appear here.


8.3 Properties#

The Properties editor contains settings for:

  • Objects
  • Materials
  • Modifiers
  • Rendering
  • Physics
  • Scene configuration

8.4 Timeline#

The Timeline is primarily used for animation.

You don't need to understand animation yet.


8.5 Editor Area#

Blender allows you to change areas into different editors.

One important editor for this tutorial is:

Scripting

This is where we will write and execute Python scripts.


9. Opening Blender's Python Workspace

At the top of Blender, find:

text
Scripting

Click it.

You should see areas such as:

text
Text Editor
Python Console
Outliner
Properties

The Text Editor is what we'll primarily use.


10. Your First Blender Python Script

Let's start with something extremely simple.

Create a new text file in Blender's Text Editor.

Enter:

python
import bpy

bpy.ops.mesh.primitive_cube_add()

Press:

text
Run Script

Blender will create a cube.

Congratulations.

You have created your first 3D object with Python.


11. Understanding the Code

Let's break it down.

python
import bpy

bpy is Blender's Python API.

It allows Python to communicate with Blender.


This:

python
bpy.ops.mesh.primitive_cube_add()

calls Blender's operator for creating a cube.

The structure is approximately:

text
bpy
 ↓
ops
 ↓
mesh
 ↓
primitive_cube_add

You don't need to memorize this yet.


12. Creating Different Shapes

Blender provides many primitive meshes.

Cube#

python
bpy.ops.mesh.primitive_cube_add()

Sphere#

python
bpy.ops.mesh.primitive_uv_sphere_add()

Cylinder#

python
bpy.ops.mesh.primitive_cylinder_add()

Cone#

python
bpy.ops.mesh.primitive_cone_add()

Torus#

python
bpy.ops.mesh.primitive_torus_add()

These primitives are the building blocks of many beginner procedural models.


13. Positioning Objects

Objects have coordinates.

Blender uses:

text
X
Y
Z

You can think of them as:

text
X = left / right

Y = forward / backward

Z = up / down

For example:

python
bpy.ops.mesh.primitive_cube_add(
    location=(0, 0, 2)
)

This creates the cube two units above the origin.


14. Scaling Objects

After creating an object:

python
cube = bpy.context.object

You can change its scale:

python
cube.scale = (2, 1, 0.5)

This means:

text
X → 2x
Y → 1x
Z → 0.5x

15. Rotating Objects

You can rotate objects using:

python
cube.rotation_euler = (
    0,
    0,
    0.5
)

Blender uses radians for Python rotations.

For degrees, you can use:

python
import math

cube.rotation_euler.z = math.radians(45)

16. Naming Objects

Always give generated objects useful names.

Instead of:

text
Cube
Cube.001
Cube.002

use:

text
Robot_Body
Robot_Head
Robot_LeftArm
Robot_RightArm

Example:

python
cube.name = "Robot_Body"

Good naming becomes extremely important when your scene becomes complicated.


17. Building a Model from Multiple Objects

A 3D model does not necessarily need to be one mesh.

A robot could be constructed from:

text
Robot
├── Body
├── Head
├── Left Arm
├── Right Arm
├── Left Leg
├── Right Leg
├── Eye Left
└── Eye Right

Each part can be created separately.

For example:

python
import bpy

# Body
bpy.ops.mesh.primitive_cube_add(
    location=(0, 0, 1.5)
)

body = bpy.context.object
body.name = "Robot_Body"
body.scale = (1.2, 0.7, 1.5)

# Head
bpy.ops.mesh.primitive_cube_add(
    location=(0, 0, 3.5)
)

head = bpy.context.object
head.name = "Robot_Head"
head.scale = (0.8, 0.7, 0.7)

Now you have two objects.


18. The Most Important Beginner Concept

Don't try to generate a complicated character immediately.

Start with:

text
Cube
 ↓
Multiple primitives
 ↓
Simple object
 ↓
Simple mechanical object
 ↓
Stylized asset
 ↓
Detailed scene

This progression will save you a lot of frustration.


19. Using AI to Generate Blender Scripts

Now we reach the interesting part.

Instead of manually writing every Python command, you can ask an AI to generate the script.

For example:

text
Create a Blender Python script for a beginner.

Generate a simple low-poly robot using primitive meshes.

Requirements:
- Use bpy
- Use cubes, cylinders and spheres
- Create a body
- Create a head
- Create two arms
- Create two legs
- Create two eyes
- Give every object a descriptive name
- Place everything correctly using X, Y and Z coordinates
- Add simple materials
- Add a camera
- Add one area light
- Make the script runnable directly from Blender's Scripting workspace
- Do not use external Python packages

The AI should return Python code.


20. Don't Blindly Trust Generated Code

This is extremely important.

AI-generated Blender scripts can contain:

  • Incorrect API calls
  • Deprecated Blender APIs
  • Incorrect object references
  • Wrong material settings
  • Incorrect coordinates
  • Missing imports
  • Invalid properties

Therefore, your workflow should be:

text
Generate
 ↓
Run
 ↓
Check error
 ↓
Fix
 ↓
Run again
 ↓
Inspect model
 ↓
Improve

This is normal.


21. A Better Prompt Structure

Instead of saying:

text
Make a car.

give the AI structured requirements.

Use:

text
Create a Blender Python script that generates
a stylized futuristic sports car.

MODEL:
- Low-poly but visually polished
- Four wheels
- Long aerodynamic body
- Low roof
- Front windshield
- Rear spoiler
- Side mirrors

DETAILS:
- Headlights
- Tail lights
- Door panels
- Wheel rims

MATERIALS:
- Metallic body
- Dark glass
- Rubber tires
- Metallic wheels

SCENE:
- Ground plane
- Camera
- Three-point lighting

CODE:
- Use bpy
- No external packages
- Clean object names
- Organize objects into collections
- Script must run directly from Blender's Text Editor

This produces much better results.


22. Think Like a 3D Director

When writing prompts, don't only describe the object.

Describe:

text
Shape
Dimensions
Parts
Materials
Colors
Position
Style
Camera
Lighting
Environment

For example:

text
Object:
Futuristic drone

Shape:
Compact circular body

Parts:
4 arms
4 engines
camera
landing legs

Materials:
matte black
metal
glass

Style:
high-tech industrial

Environment:
dark studio

Lighting:
soft blue rim light

Camera:
front three-quarter view

This gives the AI much more information.


23. Procedural Modeling

When Python generates geometry according to rules, this is often called:

Procedural Modeling

For example:

text
Create a building
 ↓
Add 10 floors
 ↓
Add windows
 ↓
Repeat windows
 ↓
Add doors
 ↓
Add roof

Python is very good at repetition.

Instead of manually creating 100 windows, Python can use a loop.

Example:

python
for x in range(5):
    for z in range(10):
        print(x, z)

This generates coordinate combinations.

You can use the same idea to create:

  • Buildings
  • Trees
  • Fences
  • Bricks
  • Windows
  • Roads
  • Stars
  • Rocks
  • Sci-fi panels

24. Creating Repeated Objects

Example:

python
import bpy

for x in range(5):

    bpy.ops.mesh.primitive_cube_add(
        location=(x * 2, 0, 0)
    )

    cube = bpy.context.object
    cube.name = f"Block_{x}"

This creates five cubes.

Instead of writing:

python
Create cube
Create cube
Create cube
Create cube
Create cube

we use a loop.


25. Adding Materials

A model becomes much more interesting when it has materials.

Example:

python
material = bpy.data.materials.new(
    name="Robot_Metal"
)

material.diffuse_color = (
    0.1,
    0.1,
    0.1,
    1.0
)

Then:

python
cube.data.materials.append(material)

The material is now assigned to the object.


26. Material Thinking

When prompting AI, specify material characteristics.

Instead of:

text
Make it blue.

try:

text
Use a dark metallic blue material
with moderate metallic reflection
and low roughness.

For glass:

text
Use a transparent dark glass-like material.

For rubber:

text
Use a dark matte rubber material
with high roughness.

27. Lighting

A model without lighting can look very flat.

You can create lights using Python.

For example:

python
bpy.ops.object.light_add(
    type="AREA",
    location=(4, -4, 6)
)

light = bpy.context.object
light.name = "Key_Light"

You can create multiple lights.

A simple setup might be:

text
Key Light
     ↓
  Object
 ↙       ↘
Fill    Rim

28. Camera

A camera determines what the final render sees.

Python can create one:

python
bpy.ops.object.camera_add(
    location=(8, -8, 6)
)

camera = bpy.context.object
camera.name = "Main_Camera"

Then you can make it the active camera.


29. Why Camera Placement Matters

A beautiful model can still look bad if the camera is badly positioned.

Useful camera descriptions include:

text
Front view
Side view
Top view
Three-quarter view
Low-angle shot
High-angle shot
Close-up
Wide shot
Product photography
Cinematic shot

For portfolio models, three-quarter views are often a good starting point because they show multiple sides of the object.


30. Complete Scene Generation

Eventually, your AI prompt can ask for the entire scene.

For example:

text
Create a complete Blender scene containing
a futuristic robotic motorcycle.

MODEL:
- aerodynamic motorcycle body
- two wheels
- futuristic suspension
- handlebars
- headlights
- mechanical details

MATERIALS:
- dark metallic body
- black rubber
- brushed metal
- glowing blue lights

ENVIRONMENT:
- dark studio floor
- subtle fog

LIGHTING:
- large area key light
- weaker fill light
- blue rim light

CAMERA:
- three-quarter front view
- cinematic composition

TECHNICAL:
- use bpy
- no external packages
- create named collections
- create named objects
- script should run directly in Blender

This is where prompt-based Blender scripting becomes powerful.


31. Organizing Your Blender Script

Don't create one giant unreadable script.

Use functions.

For example:

python
def create_body():
    pass


def create_head():
    pass


def create_arms():
    pass


def create_legs():
    pass


def create_materials():
    pass


def create_lights():
    pass


def create_camera():
    pass

Then:

python
def main():
    create_body()
    create_head()
    create_arms()
    create_legs()
    create_materials()
    create_lights()
    create_camera()


main()

This makes the generated code much easier to understand.


32. A Good AI Prompt for Code Quality

When asking AI to generate Blender Python, include:

text
Write clean, modular Blender Python.

Requirements:
- Use functions
- Use descriptive variable names
- Use descriptive object names
- Avoid unnecessary complexity
- Do not use external packages
- Use bpy
- Make the script executable directly inside Blender
- Add comments explaining important sections
- Keep geometry simple
- Organize objects into collections
- Make the script easy to modify

33. Creating Collections

Collections help organize scenes.

For example:

text
Scene
├── MODEL
│   ├── Body
│   ├── Head
│   └── Wheels
│
├── LIGHTING
│   ├── Key
│   ├── Fill
│   └── Rim
│
└── ENVIRONMENT
    └── Ground

This is much cleaner than putting everything directly into one collection.


34. Your First Real Project

Don't start with a human character.

Instead, create:

Project 1 — Coffee Mug#

Requirements:

text
Body
Handle
Material
Ground
Camera
Light

35. Project 2 — Treasure Chest

Build:

text
Chest body
Lid
Metal bands
Lock
Handle
Wood material
Metal material
Ground
Lighting
Camera

36. Project 3 — Sci-Fi Crate

Build:

text
Main body
Corner protection
Metal panels
Bolts
Warning symbols
Handles
Material
Lighting
Camera

37. Project 4 — Robot

Build:

text
Body
Head
Eyes
Arms
Hands
Legs
Feet
Antenna
Materials
Lighting
Camera

38. Project 5 — Futuristic Vehicle

Build:

text
Body
Wheels
Wheel rims
Windows
Lights
Spoiler
Doors
Materials
Ground
Lighting
Camera

39. Project 6 — Complete Portfolio Scene

Finally:

text
Hero 3D Object
+
Environment
+
Materials
+
Lighting
+
Camera
+
Animation

This can become an impressive section of a developer/design portfolio.


40. Improving Your Prompts Iteratively

Don't regenerate the entire model every time.

Instead, use incremental prompts.

Prompt 1#

text
Create the base model.

Prompt 2#

text
Add more mechanical details to the body.

Prompt 3#

text
Improve the materials.

Prompt 4#

text
Add cinematic lighting.

Prompt 5#

text
Improve the camera composition.

Prompt 6#

text
Add subtle animation.

This iterative approach is usually easier to debug.


41. Understanding Blender Errors

When a script fails, Blender may display something like:

text
Python: Traceback (most recent call last):
...
AttributeError:
...

Don't panic.

Copy the error and ask AI:

text
This Blender Python script produces this error:

[PASTE ERROR]

Explain:
1. What caused the error?
2. Which line caused it?
3. How should I fix it?
4. Provide the corrected code.

This turns Blender errors into learning opportunities.


42. Important Rule: Keep the Error

Don't immediately delete the error message.

The error tells you:

text
What failed
Where it failed
Why it failed

Learning to read errors is one of the most valuable skills you'll develop.


43. Blender Python Console vs Text Editor

Blender gives you both.

Python Console#

Good for quick experiments:

python
print("Hello Blender")

Text Editor#

Better for complete scripts:

python
import bpy

def create_model():
    ...

create_model()

For AI-generated scripts, prefer the Text Editor.


44. Saving Your Scripts

Don't keep important scripts only inside Blender.

Create a project structure such as:

text
blender-project/
│
├── scripts/
│   ├── main.py
│   ├── materials.py
│   └── lighting.py
│
├── models/
│
├── textures/
│
├── renders/
│
└── project.blend

This makes your work easier to manage.


45. Save Your Blender File

Use:

text
File → Save As

Save the .blend file.

For example:

text
futuristic-drone.blend

The .blend file is your Blender project.


46. Exporting Your Model

Eventually, you may want to use the model somewhere else.

Common formats include:

text
.glb
.gltf
.fbx
.obj
.stl

For web development and Three.js projects, GLB/GLTF is particularly useful.

A typical workflow is:

text
Blender
 ↓
Model
 ↓
Materials
 ↓
Optimize
 ↓
Export GLB
 ↓
Three.js / React Three Fiber

This is especially useful for interactive web portfolios.


47. Blender + Three.js

Once you become comfortable with Blender, you can use your models on websites.

For example:

text
Blender
   ↓
Create 3D Model
   ↓
Export .glb
   ↓
Next.js
   ↓
React Three Fiber
   ↓
Interactive Website

Visitors can then:

  • Rotate the object
  • Zoom
  • Move around
  • Trigger animations
  • Change materials
  • Interact with the model

This can make a developer portfolio considerably more visually impressive.


48. Beginner Prompt Template

Use this template whenever you want AI to create a Blender model.

text
Create a Blender Python script that generates:

[OBJECT]

STYLE:
[STYLE]

MAIN PARTS:
- [PART]
- [PART]
- [PART]

DETAILS:
- [DETAIL]
- [DETAIL]
- [DETAIL]

MATERIALS:
- [MATERIAL]
- [MATERIAL]

COLORS:
- [COLOR]
- [COLOR]

ENVIRONMENT:
[ENVIRONMENT]

LIGHTING:
[LIGHTING]

CAMERA:
[CAMERA]

TECHNICAL REQUIREMENTS:
- Use bpy
- No external Python packages
- Use clean functions
- Use descriptive object names
- Organize objects into collections
- Make the script executable directly inside Blender
- Add useful comments
- Keep the code beginner-friendly

49. Example Prompt

Here is a complete example.

text
Create a Blender Python script that generates
a stylized futuristic security robot.

STYLE:
Modern sci-fi
Low-poly with polished details

BODY:
- Large rectangular central body
- Rounded edges
- Two mechanical arms
- Two mechanical legs
- Small head

HEAD:
- Dark glass face
- Two glowing blue eyes
- Small antenna

MATERIALS:
- Dark metallic body
- Black rubber joints
- Dark glass
- Blue emissive eyes

ENVIRONMENT:
- Circular platform
- Dark studio background

LIGHTING:
- Large key light
- Soft fill light
- Blue rim light

CAMERA:
- Three-quarter front view
- Slightly low camera angle

TECHNICAL:
- Use bpy only
- No external packages
- Use reusable functions
- Use descriptive names
- Create collections for model, lights and environment
- Make the script executable directly from Blender

50. What You Should Learn First

Don't try to learn all of Blender simultaneously.

Follow this order:

text
1. Blender Interface
        ↓
2. Objects
        ↓
3. Transformations
        ↓
4. Mesh primitives
        ↓
5. Python basics
        ↓
6. bpy basics
        ↓
7. Materials
        ↓
8. Lighting
        ↓
9. Camera
        ↓
10. Collections
        ↓
11. Modifiers
        ↓
12. Procedural modeling
        ↓
13. Animation
        ↓
14. Optimization
        ↓
15. GLB/GLTF export
        ↓
16. Three.js / React Three Fiber

51. The Most Important Python Concepts

You don't need to become a Python expert.

Learn these first:

text
Variables
Functions
Lists
Dictionaries
Loops
Conditions
Imports
Classes (later)

For Blender scripting, these are especially important:

python
for
if
def
list
dict

52. The Most Important Blender Concepts

Learn these:

text
Object
Mesh
Vertex
Edge
Face
Transform
Material
Texture
Modifier
Collection
Camera
Light
Scene
World

You don't need to master all of them immediately.


53. Your Learning Strategy

Use this cycle:

text
Learn one concept
      ↓
Ask AI for a tiny example
      ↓
Run it in Blender
      ↓
Change one value
      ↓
Observe the result
      ↓
Break it
      ↓
Fix it
      ↓
Build something

The "change one value and observe" technique is extremely effective.


54. Don't Become Dependent on AI

AI can generate the script.

But you should eventually understand:

python
bpy.ops
bpy.context
bpy.data

These three concepts are particularly important.

Think of AI as your assistant rather than your replacement.

You should be able to look at generated code and understand roughly:

text
What does this create?
Where does it go?
What material does it use?
What object does this modify?
What happens if I change this value?

55. A Practical 30-Day Learning Plan

Week 1 — Blender Basics#

Learn:

  • Interface
  • Viewport
  • Objects
  • Move
  • Rotate
  • Scale
  • Add primitives
  • Delete objects
  • Save projects

Goal:

text
Comfortably navigate Blender.

Week 2 — Python + Blender#

Learn:

  • Python variables
  • Functions
  • Loops
  • bpy
  • Object creation
  • Object positioning
  • Object naming
  • Collections

Goal:

text
Generate simple objects using Python.

Week 3 — Scene Generation#

Learn:

  • Materials
  • Lights
  • Cameras
  • Modifiers
  • Procedural generation

Goal:

text
Generate complete small scenes.

Week 4 — AI-Assisted Modeling#

Practice:

text
Prompt
 ↓
AI-generated script
 ↓
Blender
 ↓
Debug
 ↓
Improve
 ↓
Render

Build:

text
Coffee mug
 ↓
Treasure chest
 ↓
Robot
 ↓
Sci-fi crate
 ↓
Vehicle
 ↓
Portfolio hero scene

56. Beginner Mistakes to Avoid

Mistake 1 — Starting with a Human#

Humans are difficult.

Start with mechanical objects.


Mistake 2 — Asking AI for Everything at Once#

This:

text
Make GTA 6.

is not a useful modeling specification.

Instead, break the problem into components.


Mistake 3 — Not Reading Errors#

Errors are part of programming.

Learn from them.


Mistake 4 — Not Naming Objects#

Avoid:

text
Cube
Cube.001
Cube.002

Prefer:

text
Robot_Body
Robot_Head
Robot_LeftArm

Mistake 5 — Ignoring Optimization#

A model can look great but be extremely heavy.

Eventually learn about:

  • Polygon count
  • Modifiers
  • Texture resolution
  • Mesh optimization
  • LOD
  • Compression

This becomes particularly important for web-based 3D.


57. Your First Challenge

Create a low-poly sci-fi crate using only Python.

Requirements:

text
[ ] Main cube body
[ ] Four corner supports
[ ] Four metal bands
[ ] Top panels
[ ] Small bolts
[ ] Handle
[ ] Metallic material
[ ] Dark rubber material
[ ] Ground plane
[ ] Camera
[ ] Three lights
[ ] Organized collections
[ ] Save as .blend
[ ] Render an image

Do not ask AI for the entire solution immediately.

First try creating:

text
Cube
 ↓
Body
 ↓
Corner supports
 ↓
Metal bands
 ↓
Materials
 ↓
Lighting
 ↓
Camera

This teaches you how the pieces fit together.


58. Final Mental Model

Remember this:

text
           HUMAN
             │
             │
          PROMPT
             │
             ▼
            AI
             │
             │
       PYTHON SCRIPT
             │
             ▼
          BLENDER
             │
       ┌─────┼─────┐
       │     │     │
     Mesh  Material Light
       │     │     │
       └─────┼─────┘
             │
           Camera
             │
             ▼
          3D SCENE
             │
       ┌─────┴─────┐
       │           │
     Render      Export
                   │
                   ▼
                 GLB
                   │
                   ▼
             Three.js /
           React Three Fiber
                   │
                   ▼
             Interactive
                Website

The Goal#

You don't need to become a professional 3D artist before you can make impressive things.

Your initial goal should simply be:

Understand enough Blender + Python to turn an idea into a structured 3D scene, then use AI to accelerate the process.

Once you understand that workflow, you can progressively move from simple primitives to procedural assets, animated scenes, optimized GLB models, and eventually interactive 3D experiences on the web.

PreviousSetting Up 3D Elements (GLB Models)Next Vivek Portfolio --- Blender 3D Model Prompt Library

Keep reading

  • 3d

    Vivek Portfolio --- Blender 3D Model Prompt Library

    A library of production-ready Blender prompts for the 3D assets on Vivek's portfolio, from the workspace and avatar to tech orbs, with shared rules for web-ready GLB export.

    16 min read·Sep 12, 2026
  • 3d

    3D Homepage Models

    3D model slots, asset requirements, configuration, optimization workflow, and implementation guidance for the homepage.

    15 min read·Sep 12, 2026
  • 3d

    Setting Up 3D Elements (GLB Models)

    How a GLB gets onto the site: optimize it with one command, register it in model3d.config.ts, tune it live in the dev Model lab, then place it with ClientModelViewer.

    6 min read·Sep 12, 2026

On this page

  • A Complete Beginner's Guide
  • 6.1 Prompt
  • 6.2 Python
  • 6.3 Blender
  • 8.1 3D Viewport
  • 8.2 Outliner
  • 8.3 Properties
  • 8.4 Timeline
  • 8.5 Editor Area
  • Cube
  • Sphere
  • Cylinder
  • Cone
  • Torus
  • Project 1 — Coffee Mug
  • Prompt 1
  • Prompt 2
  • Prompt 3
  • Prompt 4
  • Prompt 5
  • Prompt 6
  • Python Console
  • Text Editor
  • Week 1 — Blender Basics
  • Week 2 — Python + Blender
  • Week 3 — Scene Generation
  • Week 4 — AI-Assisted Modeling
  • Mistake 1 — Starting with a Human
  • Mistake 2 — Asking AI for Everything at Once
  • Mistake 3 — Not Reading Errors
  • Mistake 4 — Not Naming Objects
  • Mistake 5 — Ignoring Optimization
  • The Goal