250509

lililllilillll·2025년 5월 9일

개발 일지

목록 보기
166/350

✅ What I did today


  • C++ 스크립트를 활용한 언리얼 엔진 5 게임 개발
  • R&D
  • Prototyping


📖 C++ 스크립트를 활용한 언리얼 엔진 5 게임 개발


Edit > Project Settings > Engine > Input > Action Mappings > 액션 추가 (ex. Attack)
는 deprecated 됐고, Enhanced Input Component라는 걸로 대체됨.

Enhanced Input Component

  1. Input Action 애셋을 생성하고 트리거를 지정한다.
  • 지정 안 해도 기본으로 Pressed 트리거처럼 동작하긴 함
  1. Input Mapping Context 애셋 (기본은 IMC_Default) 에 Input Action 애셋을 할당하고 키도 할당한다.
  2. 헤더 파일에서 Input Mapping Context 애셋과 Input Action 애셋을 선언한다
  • 블루프린트나 details에 할당된다.
  • BP_~PlayerController의 Default Mapping Context에서 Input Mapping Context 애셋이 할당되어 있는 것을 찾을 수 있다.
  1. Input Mapping Context를 Subsystem->AddMappingContext(); 해준다
  2. 각각의 Input Action 애셋을 EnhancedInputComponent->BindAction(); 해준다.
  • 여기서 ETriggerEvent는 트리거의 정확한 조건을 지정한다.
  • pressed면 started랑 triggered의 발동 조건이 똑같다.

Animation Sequence

  • 왼쪽에 있는 노티파이 트랙 추가는 노티파이가 아니라 노티파이가 들어갈 수 있는 영역을 추가하는 것
  • Animation Track에 노티파이를 추가하려면 해당 노티파이와 같은 높이에서 트랙에 우클릭

Event Graph와 Anim Graph는 다르다



🛠️ R&D


VRoid

1.

  • 모델을 클릭해야 Animation Clip을 수정할 수 있다
  • Animator Controller에서 새 레이어로 BlendShape override 가능하다
  • Animator Clip에서 스크롤바 늘려놔서 한꺼번에 보이게 하기

2.

UniVRM에서 Animation Clip으로 표정 제어가 안되는 문제

Fcl_All 계열은 VRM10Instance에서 덮어씌워버린다
그 이외 파라미터들은 애니메이터로 제어 가능하다.

UniVRM의 기능을 이용하지 않을 거라면
Update Type을 None으로 두고 Animator로만 제어한다

UniVRM 무시하고 계속 덮어씌우기
애니메이션 클립에서 키프레임을 하나 더 생성해서 애니메이션이 계속 재생되게 만들면 UniVRM의 덮어씌우기가 무시된다.

UniVRM의 Expression API 사용하기

  • import했던 VRM 모델로 간다
  • VRM 탭 > Extract Meta And Expressions
using UnityEngine;
using UniVRM10;

public class ChangeExpression : MonoBehaviour
{
    Vrm10Instance vrm;
    public ExpressionKey smile;

    void Start()
    {
        vrm = GetComponent<Vrm10Instance>();
        smile = ExpressionKey.CreateFromPreset(ExpressionPreset.happy);
    }

    void Update()
    {
        vrm.Runtime.Expression.SetWeight(smile, 1);
    }
}


💡 Prototyping


P007

포탈 카메라 이동은 LateUpdate를 해야 skybox로의 시점 flickering 없음

밧줄 포탈에서 시야 어긋남

강의 보고 그대로 따라했던 원본 씬에서도 약간 어긋나긴 했는데

겹쳐서도 보고, 포탈을 이동시키면서도 보았는데, offset은 동일함.
투영 좌표계 뭐 그런 문제는 아니지 않나 싶음.

plane으로도 동일한 문제가 발생. 이러면 원본과 조건도 동일한데 왜...?

  • 원본에 문제가 발생하지 않는다는 건 셰이더, 카메라 로직의 문제는 아니라는 뜻
  • plane으로도 동일한 문제가 발생한다는 것은 밧줄 모델의 문제는 아니라는 뜻

포탈을 좌우로 움직여보니 오프셋이 맞는 구간이 생겼다
그냥 같은 공간이 아니어서 왜곡되어 보이는 거였다
2시간 가까이 이것 때문에 허비했는데
생각해보니까 어차피 다른 공간으로 가는거라 무의미한 일이었다.

밧줄의 왜곡은 단순히 좌우 대칭이 아닌 물체가 180도가 돌아가 있어서였다.
문제 해결.

내일은 어떻게 해야 절두체로 인한 flickering 일어나지 않을지 생각해보기.



🎨 Art Practice : Drawing


어디선가 많이 봤던 허접 그림이 되어가는 것 같아서 이쯤에서 손절
고해상도로 그려놔서 축소하니까 그럴듯하긴 한데,
방법을 제대로 배워야 할 것 같다.



profile
너 정말 **핵심**을 찔렀어

0개의 댓글