mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
139 lines
4.4 KiB
Python
139 lines
4.4 KiB
Python
from ayon_server.settings import BaseSettingsModel, SettingsField
|
|
from .imageio import ImageIOSettings
|
|
from .render_settings import (
|
|
RenderSettingsModel, DEFAULT_RENDER_SETTINGS
|
|
)
|
|
from .create_review_settings import (
|
|
CreateReviewModel, DEFAULT_CREATE_REVIEW_SETTINGS
|
|
)
|
|
from .publishers import (
|
|
PublishersModel, DEFAULT_PUBLISH_SETTINGS
|
|
)
|
|
|
|
|
|
def unit_scale_enum():
|
|
"""Return enumerator for scene unit scale."""
|
|
return [
|
|
{"label": "mm", "value": "Millimeters"},
|
|
{"label": "cm", "value": "Centimeters"},
|
|
{"label": "m", "value": "Meters"},
|
|
{"label": "km", "value": "Kilometers"}
|
|
]
|
|
|
|
|
|
class MxpWorkspaceSettings(BaseSettingsModel):
|
|
enabled_project_creation: bool = SettingsField(
|
|
False, title="Enable Project Creation")
|
|
mxp_workspace_script: str = SettingsField(
|
|
title="Max mxp Workspace", widget="textarea"
|
|
)
|
|
|
|
|
|
class UnitScaleSettings(BaseSettingsModel):
|
|
enabled: bool = SettingsField(True, title="Enabled")
|
|
scene_unit_scale: str = SettingsField(
|
|
"Centimeters",
|
|
title="Scene Unit Scale",
|
|
enum_resolver=unit_scale_enum
|
|
)
|
|
|
|
|
|
class PRTAttributesModel(BaseSettingsModel):
|
|
_layout = "compact"
|
|
name: str = SettingsField(title="Name")
|
|
value: str = SettingsField(title="Attribute")
|
|
|
|
|
|
class PointCloudSettings(BaseSettingsModel):
|
|
attribute: list[PRTAttributesModel] = SettingsField(
|
|
default_factory=list, title="Channel Attribute")
|
|
|
|
|
|
class MaxSettings(BaseSettingsModel):
|
|
unit_scale_settings: UnitScaleSettings = SettingsField(
|
|
default_factory=UnitScaleSettings,
|
|
title="Set Unit Scale"
|
|
)
|
|
mxp_workspace: MxpWorkspaceSettings = SettingsField(
|
|
default_factory=MxpWorkspaceSettings,
|
|
title="Max Workspace"
|
|
)
|
|
imageio: ImageIOSettings = SettingsField(
|
|
default_factory=ImageIOSettings,
|
|
title="Color Management (ImageIO)"
|
|
)
|
|
RenderSettings: RenderSettingsModel = SettingsField(
|
|
default_factory=RenderSettingsModel,
|
|
title="Render Settings"
|
|
)
|
|
CreateReview: CreateReviewModel = SettingsField(
|
|
default_factory=CreateReviewModel,
|
|
title="Create Review"
|
|
)
|
|
PointCloud: PointCloudSettings = SettingsField(
|
|
default_factory=PointCloudSettings,
|
|
title="Point Cloud"
|
|
)
|
|
publish: PublishersModel = SettingsField(
|
|
default_factory=PublishersModel,
|
|
title="Publish Plugins")
|
|
|
|
|
|
DEFAULT_MXP_WORKSPACE_SETTINGS = "\n".join((
|
|
'[Directories]',
|
|
'Animations= ./sceneassets/animations',
|
|
'Archives=./archives',
|
|
'AutoBackup=./autoback',
|
|
'BitmapProxies=./proxies',
|
|
'Fluid Simulations=./SimCache',
|
|
'Images=./sceneassets/images',
|
|
'MaxStart=./',
|
|
'Previews=./previews',
|
|
'RenderAssets=./sceneassets/renderassets',
|
|
'RenderOutput= ./renders/3dsmax'
|
|
'Scenes=./',
|
|
'Sounds=./sceneassets/sounds',
|
|
'[XReferenceDirs]',
|
|
'Dir1=./',
|
|
'[BitmapDirs]',
|
|
'Dir1=C:/Program Files/Autodesk/3ds Max 2023/Maps',
|
|
'Dir2=C:/Program Files/Autodesk/3ds Max 2023/Maps/glare',
|
|
'Dir3=C:/Program Files/Autodesk/3ds Max 2023/Maps/adskMtl',
|
|
'Dir4=C:/Program Files/Autodesk/3ds Max 2023/Maps/Noise',
|
|
'Dir5=C:/Program Files/Autodesk/3ds Max 2023/Maps/mental_mill',
|
|
'Dir6=C:/Program Files/Autodesk/3ds Max 2023/Maps/fx',
|
|
'Dir7=C:/Program Files/Autodesk/3ds Max 2023/Maps/Particle Flow Presets',
|
|
'',
|
|
))
|
|
|
|
|
|
|
|
DEFAULT_VALUES = {
|
|
"unit_scale_settings": {
|
|
"enabled": True,
|
|
"scene_unit_scale": "Centimeters"
|
|
},
|
|
"mxp_workspace": {
|
|
"enabled_project_creation": False,
|
|
"mxp_workspace_script": DEFAULT_MXP_WORKSPACE_SETTINGS
|
|
},
|
|
"RenderSettings": DEFAULT_RENDER_SETTINGS,
|
|
"CreateReview": DEFAULT_CREATE_REVIEW_SETTINGS,
|
|
"PointCloud": {
|
|
"attribute": [
|
|
{"name": "Age", "value": "age"},
|
|
{"name": "Radius", "value": "radius"},
|
|
{"name": "Position", "value": "position"},
|
|
{"name": "Rotation", "value": "rotation"},
|
|
{"name": "Scale", "value": "scale"},
|
|
{"name": "Velocity", "value": "velocity"},
|
|
{"name": "Color", "value": "color"},
|
|
{"name": "TextureCoordinate", "value": "texcoord"},
|
|
{"name": "MaterialID", "value": "matid"},
|
|
{"name": "custFloats", "value": "custFloats"},
|
|
{"name": "custVecs", "value": "custVecs"},
|
|
]
|
|
},
|
|
"publish": DEFAULT_PUBLISH_SETTINGS
|
|
|
|
}
|