-
Notifications
You must be signed in to change notification settings - Fork 57
feat: add conda recipes for 3ds Max 2025 and Chaos Corona #173
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
base: mainline
Are you sure you want to change the base?
Changes from all commits
b655472
3fd8036
d6291f3
f404d1c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,97 @@ | ||
| # Autodesk 3ds Max 2025 conda build recipe | ||
|
|
||
| > **Autodesk Cloud Rights:** Autodesk 3ds Max has its own licensing requirements separate from AWS. | ||
| > Confirm you have the appropriate licenses before proceeding. See additional details on | ||
| > [Autodesk Cloud Rights for 3ds Max](https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/Subscription-Benefits-FAQ-Cloud-Rights.html). | ||
|
|
||
| ## Creating an archive file for Windows | ||
|
|
||
| The Windows installer requires Administrator permissions that are not available in most conda package | ||
| build environments, such as on Deadline Cloud service-managed fleets. Follow these instructions to | ||
| install 3ds Max 2025 on a freshly created EC2 instance as Administrator, and create an archive file | ||
| for use by the conda build recipe. | ||
|
|
||
| 1. Launch a fresh Windows Server 2022 instance (any current Windows Server AMI with enough vCPUs and RAM works). | ||
| 1. From the AWS EC2 management console, select the option to Launch instance. | ||
| 2. Enter instance name "Create Windows 3ds Max archive". | ||
| 3. Select "Microsoft Windows Server 2022 Base" for the AMI. | ||
| 4. Select an instance type with enough vCPUs and RAM, for example c5.4xlarge has 8 vCPUs and 16 GiB RAM. | ||
| 5. Select "Proceed without a key pair" for the "Key pair (login)" option. | ||
| 6. We will use SSM port forwarding to avoid sending RDP protocol traffic directly over the internet. | ||
| 1. Make sure that "Allow RDP traffic" is unchecked. | ||
| 2. Make sure the security group does not allow any inbound traffic. | ||
| 3. Make sure to remove any public IP addresses from the instance. | ||
| 7. Set the storage to at least 64 GiB. Adjust other settings as you like, e.g. if you want an encrypted volume of type gp3. | ||
| 8. Select "Launch instance." | ||
| 9. If it asks, select "Proceed without key pair" and proceed with the launch. | ||
| 10. Once it launched, navigate to the instance detail page. Select "Connect," and with "Session manager" selected, again select "Connect." | ||
| If it says "SSM Agent is not online," you may have to wait a few minutes for it to initialize. | ||
| 11. Create a secure password for the Administrator account. From the Administrator PowerShell window that session manager, | ||
| enter the following command with your secure password substituted to change the password. | ||
| 1. `net user Administrator MY_SECURE_PASSWORD` | ||
| 2. Connect to the instance with SSM port forwarding and RDP. | ||
| 1. Install or update the AWS CLI v2 from https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html. | ||
| 2. Install or update the Session Manager plugin from https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html. | ||
| 3. Run the following command, using AWS credentials that have suitable permissions, to start the SSM port forwarding. Replace INSTANCE_ID with the one you launched. | ||
| 1. `aws ssm start-session --document-name AWS-StartPortForwardingSession --parameters "localPortNumber=3389,portNumber=3389" --target INSTANCE_ID` | ||
| 4. Open RDP, and enter the following connection details: | ||
| 1. Computer: `localhost:3389` | ||
| 2. User name: `Administrator` | ||
| 5. Enter the password you set for Administrator after you created the instance. You should now have a remote desktop session to your instance. | ||
| 3. Install 3ds Max 2025 on the instance. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Or any other instance actually
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added a note that any current Windows Server AMI with sufficient vCPUs/RAM works - d14eac1. |
||
| 1. Download the 3ds Max 2025 installer for Windows from Autodesk (for example via Autodesk Access). | ||
| 2. Run the installer on the EC2 instance and complete installation using the default settings. | ||
| 3. *(Optional)* Install the `deadline-cloud-for-3ds-max` Python package inside 3ds Max if you want the Deadline Cloud | ||
| integration baked into the package. Note that doing so pins the adaptor at archive-creation time and skips runtime | ||
| upgrades that the Deadline Cloud conda channel would otherwise provide; for production fleets, prefer letting the | ||
| channel deliver the adaptor at job-init time. | ||
| 4. From an Administrator PowerShell window, create the archive from the installed files and capture its hash. | ||
| 1. `Compress-Archive -Path 'C:\Program Files\Autodesk\3ds Max 2025' -DestinationPath Autodesk_3dsMax_2025_Windows_installation.zip` | ||
| 2. `(Get-FileHash -Path "Autodesk_3dsMax_2025_Windows_installation.zip" -Algorithm SHA256).Hash.ToLower()` | ||
| 5. Upload the zip to your private S3 bucket. You can use a PowerShell command like | ||
| `Write-S3Object -BucketName MY_BUCKET_NAME -Key Autodesk_3dsMax_2025_Windows_installation.zip -File Autodesk_3dsMax_2025_Windows_installation.zip`. | ||
| 6. Terminate the EC2 instance. | ||
| 7. Download the zip file to the `conda_recipes/archive_files` directory in your git clone of the | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Have you tried rattler build? We are migrating all of our recipes.
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good call. Essentially I re-used a lot of the methodology of the maya-2025 recipe which used conda-build for the Win-build I'll check and test it.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks! Rattler should work on Windows.
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Tracking rattler-build migration as a follow-up to keep this PR scoped. Mentioned that explicitly in the README under the new "Build tool" section in d14eac1. Will open a separate branch/PR with the rattler translation once we have testing capacity. |
||
| [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples) repository for | ||
| submitting package build jobs, and update the Windows source artifact hash in `meta.yaml`. | ||
|
|
||
| The build script installs `pywin32` into 3ds Max's embedded Python to enable automation and exports | ||
| environment variables (`ADSK_3DSMAX_*`) so jobs can find both the GUI (`3dsmax.exe`) and batch | ||
| (`3dsmaxbatch.exe`) executables. See the *Notes on environment variables* section below for details. | ||
|
|
||
| ## Build tool | ||
|
|
||
| This recipe uses `conda-build` to stay consistent with the existing 3ds Max test pipeline. Migration to | ||
| [`rattler-build`](https://github.com/prefix-dev/rattler-build) (already adopted by `blender-5.1`, | ||
| `maya-2026`, and others in this repository) is tracked as a follow-up — feel free to open an issue or PR. | ||
|
|
||
| ## Notes on environment variables | ||
|
|
||
| The activation script exports the following variables so jobs and the | ||
| [`deadline-cloud-for-3ds-max`](https://github.com/aws-deadline/deadline-cloud-for-3ds-max) adaptor can | ||
| locate the right executable: | ||
|
|
||
| | Variable | Path | When to use | | ||
| | --- | --- | --- | | ||
| | `ADSK_3DSMAX_BATCH_EXE` | `…/3ds Max 2025/3dsmaxbatch.exe` | **Default.** Non-GUI batch render. Compliant with Autodesk Cloud Rights, which allow up to 10 batch render licenses per GUI subscription seat. | | ||
| | `ADSK_3DSMAX_EXECUTABLE` | `…/3ds Max 2025/3dsmax.exe` | GUI executable. Use only if your Autodesk subscription's GUI seats cover the rendering workload. | | ||
| | `3DSMAX_EXECUTABLE` (`.bat` only) | `…/3ds Max 2025/3dsmaxbatch.exe` | Legacy variable consumed by the current adaptor; kept pointing at the batch exe so existing jobs render with the safer default. | | ||
|
|
||
| Limitations: | ||
|
|
||
| - POSIX shells cannot export variable names that begin with a digit, so `3DSMAX_EXECUTABLE` is set | ||
| only by the `.bat` activation script. Bash activation relies on the `ADSK_*` variables. | ||
| - The current adaptor reads `3DSMAX_EXECUTABLE` only. Until | ||
| [deadline-cloud-for-3ds-max#190](https://github.com/aws-deadline/deadline-cloud-for-3ds-max/issues/190) | ||
| ships, jobs that need to switch between batch and GUI explicitly will require either a small adaptor | ||
| hot-patch or a fleet-level override of `3DSMAX_EXECUTABLE`. Once that adaptor change lands, the | ||
| adaptor will read both `ADSK_3DSMAX_BATCH_EXE` and `ADSK_3DSMAX_EXECUTABLE` and pick the right one | ||
| for the job. | ||
|
|
||
| ## Renderer plug-ins (e.g., Corona) | ||
|
|
||
| If you intend to render with Corona or other third-party renderers, ensure their DLLs are present in the | ||
| 3ds Max plug-in search path (e.g., `Autodesk/3ds Max 2025/Plugins`). The main `3dsmax` package does not | ||
| carry Corona binaries; use the `3dsmax-corona` package to place the real Corona DLLs into the | ||
| environment. Without that package (or manually copied DLLs), Max will warn about missing plug-ins and | ||
| the adaptor will fail. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| condaPlatforms: | ||
| - platform: win-64 | ||
| defaultSubmit: true | ||
| sourceArchiveFilename: | ||
| - Autodesk_3dsMax_2025_Windows_installation.zip | ||
| sourceDownloadInstructions: 'Follow the README instructions to create the Windows archive from an installed 3ds Max 2025.' | ||
| buildTool: conda-build |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| bash %RECIPE_DIR%/build_win.sh | ||
| if errorlevel 1 exit 1 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,123 @@ | ||
| #!/bin/sh | ||
|
|
||
| set -xeuo pipefail | ||
|
|
||
| # The version without the update number | ||
| MAX_VERSION=${PKG_VERSION%.*} | ||
| AUTODESK_ROOT="Autodesk" | ||
| INSTALL_DIR="$PREFIX/$AUTODESK_ROOT/3ds Max $MAX_VERSION" | ||
|
|
||
| mkdir -p "$PREFIX/$AUTODESK_ROOT" | ||
|
|
||
| # Locate the extracted 3ds Max root (zip contents may include an extra top-level folder). | ||
| SRC_ROOT="$SRC_DIR/3dsmax" | ||
|
leongdl marked this conversation as resolved.
|
||
| if [ ! -f "$SRC_ROOT/3dsmax.exe" ]; then | ||
| FOUND_PATH=$(find "$SRC_DIR" -maxdepth 4 -type f -name "3dsmax.exe" | head -n 1 || true) | ||
| if [ -n "$FOUND_PATH" ]; then | ||
| SRC_ROOT=$(dirname "$FOUND_PATH") | ||
| fi | ||
| fi | ||
|
|
||
| # Copy the extracted files into the install location (robust against read-only flags and file/dir collisions). | ||
| # robocopy ships with Windows by default (in System32) so no extra install is required for conda-build on Windows. | ||
| # /COPY:DAT /DCOPY:DAT skips ACL/owner copying which often fails in conda-build/CI; robocopy uses 0-7 for "success | ||
| # with minor differences" so we treat exit codes < 8 as success. | ||
| rm -rf "$INSTALL_DIR" | ||
| mkdir -p "$INSTALL_DIR" | ||
| cmd <<EOF | ||
| setlocal | ||
| robocopy "$(cygpath -w "$SRC_ROOT")" "$(cygpath -w "$INSTALL_DIR")" /E /COPY:DAT /DCOPY:DAT /R:1 /W:1 /NFL /NDL >nul | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does the builder need to install robocopy?
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No. robocopy ships with Windows (in System32) and is available by default in Windows environments, including conda-build on Windows.
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No install step required - robocopy ships with Windows in System32 and is on PATH by default in conda-build on Windows. Added that note inline in d14eac1. |
||
| set RC=%ERRORLEVEL% | ||
| echo Robocopy exit code: %RC% | ||
| if %RC% GEQ 8 exit /b %RC% | ||
| exit /b 0 | ||
| EOF | ||
|
|
||
| # The conda-build environment sets pip to offline/no-deps by default; allow installs for 3ds Max Python. | ||
| unset PIP_NO_DEPENDENCIES | ||
| unset PIP_IGNORE_INSTALLED | ||
| unset PIP_NO_INDEX | ||
|
|
||
| # Ensure 3ds Max's bundled Python has pip and pywin32 available for automation. | ||
| "$INSTALL_DIR\\Python\\python.exe" -m ensurepip | ||
| "$INSTALL_DIR\\Python\\python.exe" -m pip install pywin32 | ||
| "$INSTALL_DIR\\Python\\python.exe" -m pip install deadline-cloud-for-3ds-max --upgrade | ||
|
|
||
| mkdir -p "$PREFIX/etc/conda/activate.d" | ||
| mkdir -p "$PREFIX/etc/conda/deactivate.d" | ||
|
|
||
| # See https://docs.conda.io/projects/conda/en/latest/dev-guide/deep-dives/activation.html | ||
| # for details on activation. The Deadline Cloud sample queue environments use bash | ||
| # to activate environments on Windows, so always produce both .bat and .sh files. | ||
|
|
||
| # Environment variables exposed to jobs. | ||
| # | ||
| # ADSK_3DSMAX_BATCH_EXE -> 3dsmaxbatch.exe (non-GUI, the safe default for cloud rendering; | ||
| # Autodesk Cloud Rights allow ~10 batch render licenses per GUI seat). | ||
| # ADSK_3DSMAX_EXECUTABLE -> 3dsmax.exe (GUI). Use only when your subscription's GUI seats | ||
| # cover the rendering workload (see Autodesk Cloud Rights FAQ). | ||
| # 3DSMAX_EXECUTABLE -> 3dsmaxbatch.exe (legacy variable still consumed by the current | ||
| # deadline-cloud-for-3ds-max adaptor; kept on the .bat side for now). | ||
| # See https://github.com/aws-deadline/deadline-cloud-for-3ds-max/issues/190 for the | ||
| # planned adaptor change that will let users select GUI vs batch explicitly. | ||
| cat <<EOF > "$PREFIX/etc/conda/activate.d/$PKG_NAME-$PKG_VERSION-vars.sh" | ||
| export ADSK_3DSMAX_VERSION=$MAX_VERSION | ||
| export ADSK_3DSMAX_LOCATION="\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION" | ||
| export ADSK_3DSMAX_PYTHON="\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Python/python.exe" | ||
| export ADSK_3DSMAX_BATCH_EXE="\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/3dsmaxbatch.exe" | ||
| export ADSK_3DSMAX_EXECUTABLE="\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/3dsmax.exe" | ||
| export ADSK_3DSMAX_ROOT="\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION" | ||
| export ADSK_3DSMAX_PLUGINS_ADDON_DIR="\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Plugins" | ||
| export ADSK_APPLICATION_PLUGINS="\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Plugins" | ||
| export PATH="\$(cygpath "\$CONDA_PREFIX/bin"):\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION"):\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Python"):\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Python/Scripts"):\$PATH" | ||
|
leongdl marked this conversation as resolved.
|
||
| export PYTHONPATH="\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Python"):\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Python/Scripts"):\$PYTHONPATH" | ||
| EOF | ||
| cat "$PREFIX/etc/conda/activate.d/$PKG_NAME-$PKG_VERSION-vars.sh" | ||
|
|
||
| cat <<EOF > "$PREFIX/etc/conda/activate.d/$PKG_NAME-$PKG_VERSION-vars.bat" | ||
| set "ADSK_3DSMAX_VERSION=$MAX_VERSION" | ||
| set "ADSK_3DSMAX_LOCATION=%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION" | ||
| set "ADSK_3DSMAX_PYTHON=%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\Python\\python.exe" | ||
| set "ADSK_3DSMAX_BATCH_EXE=%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\3dsmaxbatch.exe" | ||
| set "ADSK_3DSMAX_EXECUTABLE=%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\3dsmax.exe" | ||
| set "ADSK_3DSMAX_ROOT=%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION" | ||
| set "ADSK_3DSMAX_PLUGINS_ADDON_DIR=%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\Plugins" | ||
| set "ADSK_APPLICATION_PLUGINS=%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\Plugins" | ||
| set "3DSMAX_EXECUTABLE=%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\3dsmaxbatch.exe" | ||
| set "PATH=%CONDA_PREFIX%\\bin;%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION;%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\Python;%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\Python\\Scripts;%PATH%" | ||
| set "PYTHONPATH=%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\Python;%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\Python\\Scripts;%PYTHONPATH%" | ||
| EOF | ||
| cat "$PREFIX/etc/conda/activate.d/$PKG_NAME-$PKG_VERSION-vars.bat" | ||
|
|
||
| cat <<EOF > "$PREFIX/etc/conda/deactivate.d/$PKG_NAME-$PKG_VERSION-vars.sh" | ||
| export PATH="\${PATH/\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Python/Scripts"):/}" | ||
| export PATH="\${PATH/\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Python"):/}" | ||
| export PATH="\${PATH/\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION"):/}" | ||
| export PYTHONPATH="\${PYTHONPATH/\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Python/Scripts"):/}" | ||
| export PYTHONPATH="\${PYTHONPATH/\$(cygpath "\$CONDA_PREFIX/Autodesk/3ds Max $MAX_VERSION/Python"):/}" | ||
| unset ADSK_3DSMAX_EXECUTABLE | ||
| unset ADSK_3DSMAX_BATCH_EXE | ||
| unset ADSK_3DSMAX_PYTHON | ||
| unset ADSK_3DSMAX_LOCATION | ||
| unset ADSK_3DSMAX_VERSION | ||
| unset ADSK_3DSMAX_ROOT | ||
| unset ADSK_3DSMAX_PLUGINS_ADDON_DIR | ||
| unset ADSK_APPLICATION_PLUGINS | ||
| EOF | ||
| cat "$PREFIX/etc/conda/deactivate.d/$PKG_NAME-$PKG_VERSION-vars.sh" | ||
|
|
||
| cat <<EOF > "$PREFIX/etc/conda/deactivate.d/$PKG_NAME-$PKG_VERSION-vars.bat" | ||
| set "PATH=%PATH:%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION;=%" | ||
| set "PYTHONPATH=%PYTHONPATH:%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\Python;=%" | ||
| set "PYTHONPATH=%PYTHONPATH:%CONDA_PREFIX%\\Autodesk\\3ds Max $MAX_VERSION\\Python\\Scripts;=%" | ||
| set 3DSMAX_EXECUTABLE= | ||
| set ADSK_3DSMAX_BATCH_EXE= | ||
| set ADSK_3DSMAX_EXECUTABLE= | ||
| set ADSK_3DSMAX_ROOT= | ||
| set ADSK_3DSMAX_PLUGINS_ADDON_DIR= | ||
| set ADSK_APPLICATION_PLUGINS= | ||
| set ADSK_3DSMAX_PYTHON= | ||
| set ADSK_3DSMAX_LOCATION= | ||
| set ADSK_3DSMAX_VERSION= | ||
| EOF | ||
| cat "$PREFIX/etc/conda/deactivate.d/$PKG_NAME-$PKG_VERSION-vars.bat" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| {% set name = "3dsmax" %} | ||
| {% set display_name = "3ds Max" %} | ||
| {% set major_version = "2025" %} | ||
| {% set minor_version = "3" %} | ||
| {% set version = major_version + "." + minor_version %} | ||
|
|
||
| package: | ||
| name: {{ name }} | ||
| version: {{ version }} | ||
|
|
||
| source: | ||
| - url: archive_files/Autodesk_3dsMax_{{ major_version }}_Windows_installation.zip # [win64] | ||
|
leongdl marked this conversation as resolved.
|
||
| sha256: 0064a976aef6f61b66d42272322dacd77caebb233b41f8a71f3def33b8a1154e # [win64] | ||
| folder: 3dsmax | ||
|
|
||
| build: | ||
| skip: true # [not win64] | ||
| number: 0 | ||
| # These build options for repackaging an application | ||
| # https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html | ||
| binary_relocation: False | ||
| detect_binary_files_with_prefix: False | ||
| missing_dso_whitelist: | ||
| - "**" | ||
|
|
||
| about: | ||
| home: https://www.autodesk.com/products/3ds-max/overview | ||
| license: LicenseRef-AutodeskEULA | ||
| summary: 3ds Max is professional 3D modeling, animation, and rendering software from Autodesk. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # 3dsmax-corona conda package | ||
|
|
||
| This package repackages the Corona Renderer plug-in for Autodesk 3ds Max into a conda-installable bundle. It should be installed alongside the matching `3dsmax` conda package. | ||
|
|
||
| > **Licensing:** Corona Renderer is distributed under the Chaos EULA. You must hold a valid Corona | ||
| > license that covers your rendering workload before deploying this package on a fleet. See the | ||
| > [Chaos website](https://www.chaos.com/corona) for licensing details. | ||
|
|
||
| ## Contents | ||
| - Corona Renderer payload for 3ds Max (version 13.2) sourced from `archive_files/3dsmax-corona-2025-13-2/win-64`. | ||
| - Windows-only build that copies the plug-in files into the 3ds Max installation inside the conda prefix. | ||
|
|
||
| ## Usage | ||
| 1. Ensure the `3dsmax` conda package for the matching major version is installed. | ||
| 2. Install this package via your conda channel (e.g., `conda install 3dsmax-corona-2025`). | ||
| 3. Activate the environment; the plug-in will live under the 3ds Max plug-ins directory. | ||
|
|
||
| ## Building the archive payload | ||
| If you need to refresh the archive payload: | ||
| 1. Run the Corona installer `.exe` for 3ds Max on a Windows OS. | ||
| 2. After install, copy the Corona files from `C:\Program Files\Chaos\Corona\Corona Renderer for 3ds Max\2025` (or matching year) into `archive_files/3dsmax-corona-2025-13-2/win-64/` in this repo. | ||
| 3. Build the conda package (`conda build conda_recipes/3dsmax-corona/recipe`). | ||
|
|
||
| ## Notes | ||
| - Platform: `win-64` only. | ||
| - License: Chaos EULA (see vendor site). | ||
| - Documentation: https://docs.chaos.com/display/CRMAX |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| condaPlatforms: | ||
| - platform: win-64 | ||
| defaultSubmit: true | ||
| sourceArchiveDirectory: 3dsmax-corona-2025-13-2/win-64/ | ||
| buildTool: conda-build |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| @echo off | ||
| setlocal enableextensions enabledelayedexpansion | ||
|
|
||
| set "MAX_VERSION=2025" | ||
|
|
||
| rem Install Corona to the expected Chaos path under the conda prefix. | ||
| set "TARGET=%PREFIX%\Program Files\Chaos\Corona\Corona Renderer for 3ds Max\%MAX_VERSION%" | ||
| if not exist "%TARGET%" mkdir "%TARGET%" | ||
|
|
||
| rem /E recursive, /I assume destination is a directory, /H copy hidden, /Y overwrite | ||
| xcopy "%SRC_DIR%" "%TARGET%" /E /I /H /Y >nul | ||
| if errorlevel 1 exit /b 1 | ||
|
|
||
| rem Add activation hooks to expose the Corona load path | ||
| set "ACTIVATE_DIR=%PREFIX%\etc\conda\activate.d" | ||
| set "DEACTIVATE_DIR=%PREFIX%\etc\conda\deactivate.d" | ||
| if not exist "%ACTIVATE_DIR%" mkdir "%ACTIVATE_DIR%" | ||
| if not exist "%DEACTIVATE_DIR%" mkdir "%DEACTIVATE_DIR%" | ||
|
|
||
| set "ACTIVATE_SH=%ACTIVATE_DIR%\%PKG_NAME%-%PKG_VERSION%-vars.sh" | ||
| set "DEACTIVATE_SH=%DEACTIVATE_DIR%\%PKG_NAME%-%PKG_VERSION%-vars.sh" | ||
| set "ACTIVATE_BAT=%ACTIVATE_DIR%\%PKG_NAME%-%PKG_VERSION%-vars.bat" | ||
| set "DEACTIVATE_BAT=%DEACTIVATE_DIR%\%PKG_NAME%-%PKG_VERSION%-vars.bat" | ||
|
|
||
| ( | ||
| echo #!/bin/sh | ||
| echo export CORONA_3DSMAX_%MAX_VERSION%_LOAD_PATH=\"$(cygpath "%TARGET%")\" | ||
| ) > "%ACTIVATE_SH%" | ||
|
|
||
| ( | ||
| echo #!/bin/sh | ||
| echo unset CORONA_3DSMAX_%MAX_VERSION%_LOAD_PATH | ||
| ) > "%DEACTIVATE_SH%" | ||
|
|
||
| echo set "CORONA_3DSMAX_%MAX_VERSION%_LOAD_PATH=%TARGET%" > "%ACTIVATE_BAT%" | ||
| echo set CORONA_3DSMAX_%MAX_VERSION%_LOAD_PATH= > "%DEACTIVATE_BAT%" | ||
|
|
||
| exit /b 0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| {% set name = "3dsmax-corona-2025" %} | ||
| {% set version = "13.2" %} | ||
|
|
||
| package: | ||
| name: {{ name }} | ||
| version: {{ version }} | ||
|
|
||
| source: | ||
| # Plugin payload extracted under archive_files/3dsmax-corona/win-64 | ||
| - path: ../../archive_files/3dsmax-corona-2025-13-2/win-64 # [win64] | ||
|
|
||
| build: | ||
| skip: true # [not win64] | ||
| number: 0 | ||
| binary_relocation: false | ||
| detect_binary_files_with_prefix: false | ||
| missing_dso_whitelist: | ||
| - "**" | ||
|
|
||
| requirements: | ||
| run: | ||
| - 3dsmax >=2025,<2026 | ||
|
|
||
| about: | ||
| home: https://www.chaos.com/corona | ||
| documentation: https://docs.chaos.com/display/CRMAX | ||
| license: LicenseRef-ChaosEULA | ||
| summary: Corona Renderer plug-in for Autodesk 3ds Max | ||
| description: | | ||
| Packages the Corona Renderer for 3ds Max (13.2) into the conda environment. | ||
| The plug-in payload is copied into the 3ds Max plugins folder; the package | ||
| should be installed alongside the matching 3dsmax conda package. |
Uh oh!
There was an error while loading. Please reload this page.