Steve Pham cd07167884 Python Relocation (#17540) 8 mesi fa
..
3rdParty 3b16886595 maya boot more forgiving from cli 2 anni fa
Assets 3744f4ad18 added export test assets 2 anni fa
Code 324c0317e9 O3DE engine Gem rename support (#17059) 1 anno fa
Docs ec861858f7 additional troubleshooting info 1 anno fa
Editor 4ea6d8710b Stabilization/2310 @ 9f9829b26a47c2f255959b8e7edac24ac081c651 -> Development (#16844) 1 anno fa
Registry 191e185e3b Update Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Registry/AssetProcessorGemConfig.setreg 2 anni fa
SDK cd07167884 Python Relocation (#17540) 8 mesi fa
Tools cd07167884 Python Relocation (#17540) 8 mesi fa
azpy cd07167884 Python Relocation (#17540) 8 mesi fa
.env.example 607c548791 Python 3.10 Update (#11216) 2 anni fa
.gitattributes 13c3e5f08c LFS excludes img dir 1 anno fa
.gitignore 549c035c0a imgui files shouldn't be commited to source 1 anno fa
.p4ignore b779f358d0 Refactor DCCsi to work better with O3DE changes (#4226) 3 anni fa
CMakeLists.txt 324c0317e9 O3DE engine Gem rename support (#17059) 1 anno fa
README.txt 1ed6dbc7bc first working version of dccsi.tools.dcc.blender.start 2 anni fa
__init__.py 46590fe611 can't strictly require bootstrap.setreg to exist, make more forgiving 1 anno fa
config.py fe59209fa7 action manager menu framework is functional. 1 anno fa
constants.py 000533483b all maya envars and defaults in constants 2 anni fa
dccsi.cmd f9e4c0b86a fix to run config from cli, reduce cyclical import failures. 2 anni fa
dccsi_stub a10351f38d Initial commit 3 anni fa
foundation.py 3b16886595 maya boot more forgiving from cli 2 anni fa
gem.json b8b6d607c4 added requirements help to gem description 1 anno fa
globals.py b87d23aed4 can successfully launch wing from o3de menu 2 anni fa
preview.png f5fcab75d6 Display Gem Icons in Gem Catalog (#7294) 2 anni fa
python.cmd dce1fa72a7 cleanup and readme update 2 anni fa
python.sh cd07167884 Python Relocation (#17540) 8 mesi fa
readme.md ec06946d48 small update to readme 1 anno fa
requirements.txt cf47147e69 foundation.py works with blender 3.1, removed pathlib from requirements 2 anni fa
return_sys_version.py 9f86dba442 new foundation script for setup 2 anni fa
settings.json 25ea713973 update stub config for wing 2 anni fa
settings.local.json.example 81c15a0b29 dccsi bootstrap refactor (doesn't work.) 1 anno fa
setup.py 38261d0800 Shorten copyright headers by splitting into 2 lines (#2213) 3 anni fa
workspace.mel c2cbd430fe Integrating up through commit 90f050496 3 anni fa

README.txt

"""
Copyright (c) Contributors to the Open 3D Engine Project.
For complete copyright and license terms please see the LICENSE at the root of this distribution.

SPDX-License-Identifier: Apache-2.0 OR MIT
"""

# -------------------------------------------------------------------------

This folder contains the DccScriptingInterface (DCCsi) for O3DE

Notice: The old \\SDK folder is being replaced with \\Tools
The scripts in \\SDK may be out of data (and not run)
When scripts are finished being updated and refactored into \\Tools the \\SDK will be removed

What is the DCCsi?

- A shared development environment for technical art oriented to working with Python across a number of DCC tools.
- Leverage the existing python ecosystem for technical art.
- Integrate a DCC app like Substance (or Substance SAT api) from the Python driven VFX and Games ecosystem.
- Extend O3DE and unlock its potential for content creators, and the Technical Artists that service them.

Tenets:
(1) Interoperability: Design DCC-agnostic modules and DCC-bespoke modules
to work together efficiently and intuitively.

(2) Encapsulation: Define a module in terms of its essential features and interface to other components,
to facilitate logical layered design and easy maintenance.

(3) Extensibility: Design the tool set to be easily extensible with new functionality and new tools.
Individual pieces should have a generic communication mechanism to allow newly written tools to slot cleanly and transparently into the tool chain.

What is provided (High Level):

- DCC-Agnostic Python Framework (as a modular Gem) related to multiple integrations for:
O3DE Editor (python scripting, utils and PySide2 tools)
DCC applications and their Python APIs/SDKs
Custom standalone tools and utils (python based)

external from cmd line
external standalone
integrated to run within O3DE Editor

What is provided (by folder):

\3rdParty: Allows third party libs/packages to be integrated outside of O3DE
Example: O3DE is py3, Maya 2020 (and earlier) is py27
O3DE provides a patterns for Gems to provide a requirements.txt
See:
DccScriptingInterface\reqiurements.txt
^ These packages will be fetched and installed into O3DE python at build time

This means for some applications like Maya we need another way to add the same packages
See:
DccScriptingInterface\SDK\Maya\readme.txt
DccScriptingInterface\SDK\Maya\requirements.txt
DccScriptingInterface\3rdParty\Python\Lib\2.x\2.7.x\site-packages\*

Packages that reside in 3rdParty are never commited to the repo (only fetched+installed)

\Assets: All O3DE Gems can maintain an asset folder
If a Gem contains an \Asset folder, these assets are folded into the projects asset data
These assets are processed by the Asset Processor for use in the Editor and Runtime
In the DCCsi the \Assets folder primarily contains TestData

\azpy Core (shared) API, A pure python Package and Modules

\Code Contains the bare bones C++ scaffold to build and integrate the Gem with O3DE
Notes: portions of the DCCsi can be utilized outside of O3DE
thus this Gem doens't have to be enabled and built for some use cases

\Editor This folder provides an entry point pattern for extending O3DE Editor with python
When a Gem is enabled ...
If the following if found, it will be executed when the Editor boots:
"Editor\Scripts\bootstrap.py"

This can be used to initialize code access, extend the editor (PySide2), etc.

\Tools This is where the following is maintained:

\Tools\DCC Integration for DCC tools:
configuration of tool (managed env, etc.)
bootstrapping, such as providing the tool access to azpy api code
extensibility, such as adding new functionality or tool to the app

\Tools\DCC\Maya An example of adding a integration for Autodesk Maya

\Tools\Env\Windows This provides a .bat file managed env to configure and bootsrap windows apps
\Tools\Launchers\windows Provides .bat files based tool launchers for windows (accesses env)