This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| start:structures [2024/07/30 12:24] – [Drives] florian | start:structures [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | [[: | ||
| - | ====== Structures ====== | ||
| - | ===== Drives ===== | ||
| - | Real drives | ||
| - | ^ Drive letter | ||
| - | | D: | Sync work drive here + other work related stuff | | ||
| - | |||
| - | Mapped drives | ||
| - | ^ Drive letter | ||
| - | | I: | Active projects | | ||
| - | | M: | Music | | ||
| - | | H: | Houdini | ||
| - | |||
| - | ===== Music ===== | ||
| - | [[https:// | ||
| - | ==== Folder structure ==== | ||
| - | *MusicProduction | ||
| - | *Practice | ||
| - | *Ideas | ||
| - | *InProgress | ||
| - | *FinalTouches | ||
| - | *Finished | ||
| - | *Publish | ||
| - | *DJSets | ||
| - | *Library | ||
| - | *Samples | ||
| - | *AmbiguousRoyaltySounds | ||
| - | *FreeUse | ||
| - | |||
| - | |||
| - | ===== Photography ===== | ||
| - | |||
| - | ==== Folder structure ==== | ||
| - | *Year | ||
| - | *01_Incoming | ||
| - | *02_Outgoing | ||
| - | ==== File structure ==== | ||
| - | <color rgb(18%, | ||
| - | <color rgb(0%, | ||
| - | |||
| - | ===== CG ===== | ||
| - | |||
| - | ==== Folder structure ==== | ||
| - | *YYYY-MM-DD_NameClient_NameProject | ||
| - | *_Library | ||
| - | *00_Incoming | ||
| - | *01_Preproduction | ||
| - | *02_Production | ||
| - | *01_Preproduction | ||
| - | *01_Moodboard | ||
| - | *02_Storyboard | ||
| - | *02_Production | ||
| - | *_Blender | ||
| - | *_DaVinci | ||
| - | *_Houdini | ||
| - | *Scene_01 | ||
| - | *03_Outgoing | ||
| - | *YYYY-MM-DD | ||
| - | |||
| - | ==== File structure ==== | ||
| - | |||
| - | === Naming Convention === | ||
| - | [[https:// | ||
| - | Maak genoeg iteraties van je bestand, zodat je steeds een versie terug kan gaan, moest er iets mislopen.\\ | ||
| - | |||
| - | === Models === | ||
| - | Export files (FBX, OBJ) hebben steeds zelfde versienummer als work file (Blender, Maya).\\ | ||
| - | Afkortingen: | ||
| - | *Character: CH | ||
| - | *Prop: P | ||
| - | *Foilage: F | ||
| - | <color rgb(18%, | ||
| - | <color rgb(0%, | ||
| - | |||
| - | === Texture Maps === | ||
| - | Export files (PNG, JPG) hebben steeds zelfde versienummer als work files (Substance, Photoshop) | ||
| - | Afkortingen: | ||
| - | *Diffuse: DIFF | ||
| - | *Ambient Oclusion: AO | ||
| - | *Glossines: G | ||
| - | *Normal: N | ||
| - | *Roughness: R | ||
| - | *Subsurface Scattering: SSS | ||
| - | *Metallic: M | ||
| - | <color rgb(18%, | ||
| - | <color rgb(0%, | ||
| - | |||
| - | === Scenes === | ||
| - | The count of scenes starts from 010, models with the scene number 000 are not restricted to one scene.\\ | ||
| - | |||
| - | <color rgb(18%, | ||
| - | <color rgb(0%, | ||
| - | |||
| - | === In 3D Software === | ||
| - | Max 5 letters voor afkortingen\\ | ||
| - | Afkortingen: | ||
| - | *Group: GRP | ||
| - | *Mesh: MESH | ||
| - | *Curve: CRVE | ||
| - | *Joint: JNT | ||
| - | *Light: LGHT | ||
| - | *Camera: CAM | ||
| - | *Locator: LOC | ||
| - | *Controller: | ||
| - | *Low Poly: LP | ||
| - | *High Poly: HP | ||
| - | *Forces: FRCE | ||
| - | <color rgb(18%, | ||
| - | <color rgb(0%, | ||
| - | |||
| - | ===== Reference Library ===== | ||
| - | For my collection of reference images, I only use broad categories as folders, the other information I put in the name and metadata. | ||
| - | |||
| - | I'm using a combination of tools, including Advanced Renamer, digiKam, Python and a tool from GitHub called [[https:// | ||
| - | |||
| - | == Workflow == | ||
| - | First, I will change the name with Advanced Renamer.\\ | ||
| - | Using TagGUI, I will then let the program generate captions into seperate text files, wich are named after the image they are describing.\\ | ||
| - | Now we need the Python script to take the information from the text file, and add it to the metadata of the images.\\ | ||
| - | For clean organisation, | ||
| - | |||
| - | == The name == | ||
| - | CATEGORY_SUBJECT_inc Nr | ||
| - | |||
| - | == The metadata == | ||
| - | A description/ | ||
| - | |||
| - | == The script == | ||
| - | <code Python [enable_line_numbers=" | ||
| - | import os | ||
| - | from PIL import Image as PilImage, PngImagePlugin | ||
| - | from pyexiv2 import Image as Pyexiv2Image | ||
| - | |||
| - | def add_text_to_image_metadata(image_folder): | ||
| - | try: | ||
| - | # Iterate through all files in the specified folder | ||
| - | for filename in os.listdir(image_folder): | ||
| - | image_path = os.path.join(image_folder, | ||
| - | text_file_path = os.path.join(image_folder, | ||
| - | |||
| - | print(f" | ||
| - | |||
| - | if os.path.exists(text_file_path): | ||
| - | # Read the content from the text file | ||
| - | with open(text_file_path, | ||
| - | caption_text = file.read() | ||
| - | |||
| - | # Convert filename to lowercase for extension checking | ||
| - | filename_lower = filename.lower() | ||
| - | |||
| - | if filename_lower.endswith((' | ||
| - | # Load the image' | ||
| - | image = Pyexiv2Image(image_path) | ||
| - | |||
| - | # Add the caption to the image' | ||
| - | image.modify_exif({' | ||
| - | elif filename_lower.endswith(' | ||
| - | # Convert the PNG image to JPEG | ||
| - | image = PilImage.open(image_path) | ||
| - | rgb_image = image.convert(' | ||
| - | rgb_image.save(os.path.splitext(image_path)[0] + ' | ||
| - | |||
| - | # Load the image' | ||
| - | image = Pyexiv2Image(os.path.splitext(image_path)[0] + ' | ||
| - | |||
| - | # Add the caption to the image' | ||
| - | image.modify_exif({' | ||
| - | |||
| - | # Delete the original PNG image | ||
| - | os.remove(image_path) | ||
| - | |||
| - | # Delete the text file | ||
| - | os.remove(text_file_path) | ||
| - | |||
| - | print(" | ||
| - | except Exception as e: | ||
| - | print(f" | ||
| - | |||
| - | # Example usage: Specify the folder containing your images | ||
| - | image_folder_path = '/ | ||
| - | add_text_to_image_metadata(image_folder_path) | ||
| - | }(); | ||
| - | </ | ||
| - | |||
| - | \\ | ||
| - | |||
| - | Sources: [[https:// | ||
| - | [[https:// | ||