Omoospace Principles

There are only 4 rules, easy to remember:
- Name everything in a clear, specific way
Contents/stores static resource filesSubspaces/stores dynamic source filesOmoospace.*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 asBC?TE? -
Action terms can be omitted, but object names must not be.
For example:ModelProp01.blendcan be simplified toProp01.blend, but neverModeling.blend;TestWaterEffect.hipcannot beTest.hip. -
Use prefixes (separated by
_) for context and suffixes (separated by.) for modifiers.
For example:Sc010_Anatomy_Skeleton.high.v001.blend—Sc010andAnatomyare context prefixes;.highand.v001are 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 assetsSee 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
See more examples here: How to set up folders?├── 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 EffectThe
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 referencesIf
Scene010.blendneeds to referenceProp01.blend, copyProp01.blendtoContents/. See details here: How to back up copies?
4. Omoospace.* records project information
Use Omoospace.* to record overall project information. You can use any familiar document format (Markdown, TXT, Word, etc.).
For our tool, use Omoospace.yml (it can be an empty file, but it must exist — otherwise, our tool cannot recognize the workspace).
# Omoospace.yml
brief: An awesome IP project
notes:
Client: Tencent
makers:
Omoolab: studio@omoolab.xyz
tools:
Blender: 4.2.0
Houdini: 20.0.0
works:
AwesomeProp01: Models/Prop02.glb
AwesomeShort01:
- Videos/Short01.mp4
- Images/Short01_Cover.png
For more complex project information, see Omoospace.yml