Skip to content

Omoospace Principles

overview

There are only 4 rules, easy to remember:

  1. Name everything in a clear, specific way
  2. contents/ stores static resource files
  3. subspaces/ stores dynamic source files
  4. OMOOSPACE.md rcords project information

1. Name everything in a clear, specific way

  • Avoid special characters and spaces.
    Only letters, numbers, underscores(_), periods(.), and hyphens(-) are allowed.

  • Use universal, easy-to-understand expressions for naming, avoid abbreviations and codes.
    Do not use incomprehensible abbreviations such as BC? TE?

  • Action terms can be omitted, but object names must not be.
    For example: ModelProp01.blend can be simplified to Prop01.blend, but never Modeling.blend; TestWaterEffect.hip cannot be Test.hip.

  • Use prefixes (separated by _) for context and suffixes (separated by .) for modifiers.
    For example: Sc010_Anatomy_Skeleton.high.v001.blend — Sc010 and Anatomy are context prefixes; .high and .v001 are modifier suffixes. See more examples here: How to use modifier suffixes?

2. contents/ stores static resource files

  • Stores referenced, imported, exported resource files and final deliverables.
    Examples: images, videos, audio effects, models, even source files, data files, etc.

  • Organize subfolders by resource type

    ├── contents/
    │   ├── audios/       # Audio assets
    │   ├── downloads/    # Files downloaded online
    │   ├── dynamics/     # Various FX simulations
    │   ├── images/       # Textures, image assets
    │   ├── models/       # Models, animated models
    │   ├── renders/      # Image sequences, rendered videos
    │   ├── data/         # Reference data
    │   ╰── videos/       # Final videos, video assets
    

    See more examples here: How to set up folders?

  • Do not easily adjust the folder structure or move files arbitrarily.
    If adjustments are necessary, use the copy method to avoid losing original references.

3. subspaces/ stores dynamic source files

  • Stores process-recorded source files and software-specific project files.
    For examples: .psd, .blend, .word, .ppt.

  • Organize files and subfolders by objectives

    ├── subspaces/
    │   ├── Assets/                  # (Prepare) Assets
    │   │   ├── Prop01.blend         # Latest version
    │   │   ╰── Prop01.v001.blend    # Backup version
    │   ╰── Sc010/                   # (Make) Scene 010
    │       ├── Sc010.prproj         # (Editing) Scene 010
    │       ├── Sc010.blend          # (Layout) Scene 010
    │       ╰── TestExplosion.blend  # Test Explosion Effect
    

    See more examples here: How to set up folders?

    The subspaces/ folder is optional — source files can be placed directly in the root directory.

  • The folder structure can be adjusted arbitrarily, and files can be moved freely.
    Messy states are allowed here, including work-in-progress, debugging, pending verification, and unorganized files.

  • If a file needs to be referenced, save a copy to contents/.
    Do not reference source files directly from each other to avoid dynamic, disorganized upstream changes affecting downstream files.

    ├── contents/
    │   ╰── models/
    │       ╰── **Prop01.blend**  # Referenced copy
    ├── subspaces/
    │   ├── AssetPreparation/
    │   │   ╰── Prop01.blend      # Working file
    │   ╰── Scene010.blend        # File that needs references
    

    If Scene010.blend needs to reference Prop01.blend, copy Prop01.blend to contents/. See details here: How to back up copies?

4. OMOOSPACE.md records project information

Use OMOOSPACE.md to record overall project information.

---
description: An awesome IP project
notes:
  Client: Tencent
makers:
  Omoolab: studio@omoolab.xyz
tools:
  Blender: 4.2.0
  Houdini: 20.0
works:
  AwesomeProp01: models/Prop02.glb
  AwesomeShort01:
    description: An awesome animated short
    version: "1.0.0"
    contents:
      - videos/Short01.mp4
      - images/Short01_Cover.png
---