Shotgun 툴킷 사용 시 3ds Max를 시작하면 충돌 오류가 발생합니다.

참고: 이 문서에서는 툴킷 구성에 대한 제어 권한이 있는 경우에만 사용할 수 있는 기능에 대해 설명합니다. 보다 고급 구성을 갖고 있지 않다면 지원 팀에 문의하십시오.

Shotgun 데스크톱이나 Shotgun 웹 사이트에서 3ds Max를 실행하면 하얀색 대화상자가 움직이지 않는 상태로 3ds Max가 멈추거나 다음 메시지가 나타날 수 있습니다.

Microsoft Visual C++ Runtime Library (Not Responding)
Runtime Error!
Program: C:\Program Files\Autodesk\3ds Max 2016\3dsmax.exe
R6034
An Application has made an attempt to load the C runtime library incorrectly.
Please contact the application's support team for more information.

이는 보통 경로의 msvcr90.dll 버전이 3ds Max와 번들로 제공되는 Python 버전과 충돌하기 때문입니다. 

솔루션

먼저, 파이프라인 구성의 config/hooks 폴더로 이동하여 before_app_launch.py 파일을 생성합니다. 이 파일에서 다음을 붙여 넣습니다.

"""
Before App Launch Hook
This hook is executed prior to application launch and is useful if you need
to set environment variables or run scripts as part of the app initialization.
"""
import os
import tank

class BeforeAppLaunch(tank.get_hook_baseclass()):
    """
    Hook to set up the system prior to app launch.
    """
    def execute(self, **kwargs):
        """
        The execute functon of the hook will be called to start the required application
        """
        env_path = os.environ["PATH"]
        paths = env_path.split(os.path.pathsep)
        # Remove folders which have msvcr90.dll from the PATH
        paths = [path for path in paths if "msvcr90.dll" not in map(
            str.lower, os.listdir(path))
        ]
        env_path = os.path.pathsep.join(paths)
        os.environ["PATH"] = env_path

이제 파일을 저장합니다.

그런 다음, 파이프라인 구성에서 config/env/includes/app_launchers.yml을 열고 launch_3dsmax 항목을 찾습니다. hook_before_app_launch: defaulthook_before_app_launch: '{config}/before_app_launch.py'.로 바꿔야 합니다.

이제 Shotgun 및 Shotgun 데스크톱에서 3ds Max가 올바로 실행될 것입니다. 그래도 문제가 발생하면 support@shotgunsoftware.com으로 문의하시기 바랍니다.

팔로우

0 댓글

댓글을 남기려면 로그인하세요.