Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need help!!!, I'm creating code for baking textures, there is code but it doesn't work as expected #21

Open
wizard3376 opened this issue Dec 15, 2023 · 0 comments

Comments

@wizard3376
Copy link

I made a code that bakes textures in Google colab

import os # Import module os

blender_url_dict = {'4.0.2': "https://ftp.nluug.nl/pub/graphics/blender/release/Blender4.0/blender-4.0.2-linux-x64.tar.xz"}
blender_version = '4.0.2'
blender_url = blender_url_dict[blender_version]
base_url = os.path.basename(blender_url) #Use the module os to access the function basename
!mkdir $blender_version
!wget -nc $blender_url
!tar -xkf $base_url -C ./$blender_version --strip-components=1

import shutil
from google.colab import files, drive
uploaded_filename = ""

!pip install bpy

import bpy

Finding the file path .blend

Folder selection

folder_path = "" #@param {type: 'string'}

Entering a file name

file_name = "" #@param {type: 'string'}

Forming the path to the file.blend

blend_file_path = f"/content/drive/MyDrive/{folder_path}/{file_name}"

Loading an existing .blend file

bpy.ops.wm.open_mainfile(filepath=blend_file_path)

Setting your preferred rendering devices(GPU и OptiX)

prefs = bpy.context.preferences
cprefs = prefs.addons['cycles'].preferences

Setting up GPU rendering and activating devices

for compute_device_type in ('CUDA', 'OPTIX'):
try:
cprefs.compute_device_type = compute_device_type
print('Device found:', compute_device_type)
break
except TypeError:
pass

for device in cprefs.devices:
if device.type == 'CUDA' or device.type == 'OPTIX':
print('Activating', device)
device.use = True

Starting the baking process

bpy.ops.object.bake(type='DIFFUSE')

Entering an image title

image_name = "No name" #@param {type: 'string'}

Forming a string to search for an image

image_object = bpy.data.images.get(image_name)

Checking that the image exists

if image_object:
# Saving an image in PNG format
image_object.file_format = 'PNG'

# Entering the name of the baked texture
Baked_image_name = "Baked texture" #@param {type: 'string'}

# Forming a path for saving an image
image_object.save_render(filepath=f"/content/drive/MyDrive/D/{Baked_image_name}.png")

else:
print("Image not found")

but it needs to be completed, if you can help me, leave a comment here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant