/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ // Original file Copyright Crytek GMBH or its affiliates, used under license. // "Prepare Materials for Alembic Export" // "import cryAlembic\ncryAlembic.renameShadingEngines()\ncryAlembic.enforcePerFaceAssignment()" // // "Export Alembic for Lumberyard" // "from maya import cmds\nimport cryAlembic\n\ncryAlembic.exportAlembicForGeomCache(cmds.ls(sl = 1))" proc preparePyEnv() { string $pycmd = "try:\n" + " import cryAlembic\n" + "except:\n" + " import sys\n" + " print('could not import cry maya tools! trying to setup environment...')\n" + " paths = [p for p in os.environ['MAYA_SCRIPT_PATH'].split(';') if p.lower().endswith('/tools/melscript')]\n" + " crypath = ''\n" + " for p in paths:\n" + " if os.path.exists('%s/%s' % (p, 'cryAlembic.py')):\n" + " print('found \"/Tools/melScript\" path')\n" + " crypath = p\n" + " break\n" + " if crypath not in [p.replace('\\\\','/').lower() for p in sys.path]:\n" + " sys.path.append(crypath)\n" + " print('added \"/Tools/melScript\" path to py paths')\n"; python($pycmd); } global proc cryAlembic_prepareMaterials() { preparePyEnv(); python("import cryAlembic\ncryAlembic.renameShadingEngines()\ncryAlembic.enforcePerFaceAssignment()"); } global proc cryAlembic_export() { preparePyEnv(); python("import cryAlembic\ncryAlembic.exportAlembicForGeomCache()"); }