언리얼 파이썬 스크립팅

Woogle·2024년 1월 23일
0

언리얼 엔진 5

목록 보기
57/63

📄 언리얼 파이썬 스크립팅

  • 언리얼 엔진에서 지원하는 파이썬 API를 스크립팅에 활용해본다.

✏️ 프로젝트 세팅

  • 플러그인을 활성화한다.
  • 프로젝트 세팅에서 파이썬 스크립트 폴더를 지정하고 에디터를 재실행한다.

✏️ 파이썬 스크립트 파일 생성

  • 지정한 폴더에 파이썬 스크립트(tutorial_script.py)를 생성하고 이하의 내용을 작성한다.

    🚀 tutorial_script.py

    import unreal
    
    print ('Hello World')

✏️ 파이썬 스크립트 임포트

  • 에디터 콘솔에서 "import tutorial_script as TS"를 입력해 파이썬 스크립트를 임포트한다.
  • 아래와 같이 스크립트가 실행되어 출력되는 것을 확인할 수 있다.
  • 다시 임포트하려면 "from importlib import reload"를 입력한다.

✏️ 파이썬 API를 활용한 스크립트 작성

  • 언리얼이 지원하는 파이썬 API 중 unreal.EditorAssetLibrary.list_assets 함수를 호출하는 함수를 만든다.

    🚀 tutorial_script.py

    import unreal
    
    # Content 폴더의 모든 에셋을 출력하는 함수
    def listAssetPaths():
       assetPaths = unreal.EditorAssetLibrary.list_assets('/Game')
       for assetPath in assetPaths:
           print(assetPath)
    
    # Content 폴더의 입력한 클래스인 에셋을 모두 출력하는 함수
    def getAssetClass(classType):
       # 전체 폴더의 모든 에셋 경로를 리스트에 담기
       assetPaths = unreal.EditorAssetLibrary.list_assets('/Game')
    
       # 일치하는 클래스 타입 에셋을 모두 찾아 리스트에 담기
       assets = []
       for assetPath in assetPaths:
           assetPath = assetPath.split('.')[0]
           assetData = unreal.EditorAssetLibrary.find_asset_data(assetPath)
           assetClass = assetData.asset_class_path.asset_name
           if assetClass == classType:
               assets.append(assetData.get_asset())
    
       # assets 리스트에 담긴 에셋 모두 출력하기
       for asset in assets:
           print(asset)
    
       return assets
  • 에디터 콘솔에서 파이썬 함수를 호출할 수 있게 되었다.

📄 언리얼 파이썬 API 표기법 규칙

  • 언리얼 클래스는 unreal.으로 시작한다.
  • 클래스 이름은 파스칼 케이스로 적는다.
  • 변수와 함수명은 스네이크 케이스로 적는다.

    🚀 언리얼 파이썬 API 함수 예시

    unreal.EditorAssetLibrary.list_assets


📄 참고자료

profile
노력하는 게임 개발자

0개의 댓글