Blender (software): Difference between revisions
| (8 intermediate revisions by the same user not shown) | |||
| Line 30: | Line 30: | ||
* [https://www.youtube.com/watch?v=TjGL4RjR13Q Making a raspberry by Bad Normals] | * [https://www.youtube.com/watch?v=TjGL4RjR13Q Making a raspberry by Bad Normals] | ||
* [https://www.youtube.com/watch?v=52UYqe3zdxQ Making a gumdrop by Blender Guru] | * [https://www.youtube.com/watch?v=52UYqe3zdxQ Making a gumdrop by Blender Guru] | ||
==Materials and Shaders== | |||
Blender uses a node system for shader which let you composite different textures and BSDFS. | |||
===Bypass BSDF=== | |||
If you wish to use a raw colors from a texture, bypassing materials altogether, you can directly attach a image texture node output to the material output.<br> | |||
For transparent textures, you will need a transparent BSDF node and a mix node with alpha connected to <code>mix.outputs["Fac"]</code> to achieve transparency. | |||
==Animations== | ==Animations== | ||
==Rendering and Compositing== | ==Rendering and Compositing== | ||
Press | Press {{key press|F12}} to render. | ||
===Denoising=== | ===Denoising=== | ||
| Line 81: | Line 88: | ||
# Add material to an object | # Add material to an object | ||
my_object.data.materials.append(my_material) | my_object.data.materials.append(my_material) | ||
</syntaxhighlight> | |||
====Images==== | |||
<syntaxhighlight lang="python"> | |||
# Add an image | |||
image_bpy = bpy.data.images.new("my_image", width=width, height=height, alpha=(channels==4), float_buffer=False) | |||
image_bpy.pixels = np.flipud(image_np).ravel() | |||
image_tex_node = my_material.node_tree.nodes.new("ShaderNodeTexImage") | |||
image_tex_node.image = image_bpy | |||
my_material.node_tree.links.new(image_tex_node.outputs['Color'], my_bsdf.inputs['Base Color']) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 111: | Line 127: | ||
===MVP matrices=== | ===MVP matrices=== | ||
[https://github.com/blender/blender/blob/v2.93.0/doc/python_api/examples/gpu.9.py Example python code] | [https://github.com/blender/blender/blob/v2.93.0/doc/python_api/examples/gpu.9.py Example python code] | ||
< | <syntaxhighlight lang="python"> | ||
# Model matrix | # Model matrix | ||
my_object.matrix_world | my_object.matrix_world | ||
| Line 121: | Line 137: | ||
projection_matrix = bpy.context.scene.camera.calc_matrix_camera( | projection_matrix = bpy.context.scene.camera.calc_matrix_camera( | ||
bpy.context.evaluated_depsgraph_get(), x=WIDTH, y=HEIGHT) | bpy.context.evaluated_depsgraph_get(), x=WIDTH, y=HEIGHT) | ||
</syntaxhighlight> | |||
===Python Modules=== | |||
To add modules, install them using pip to the <code>scripts/modules</code> directory of your Blender install: | |||
<pre> | |||
python3.9 -m pip install -t=scripts/modules $MODULE | |||
</pre> | </pre> | ||
* If you installed blender using snap, you will need to create another scripts directory somewhere else. | |||
==Compiling Blender== | ==Compiling Blender== | ||