Unreal Engine/BluePrints

[Unreal/BluePrints] 복사와 참조

서니션 2024. 3. 25. 11:37
728x90
반응형
인프런에서 rookiss [입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트 강의를 듣고 정리한 글입니다.

 

다섯 손가락 안에 들 정도로 중요한 개념

 

swap

a의 b의 값을 swap시켜줄 경우 temp라는 임시 거처를 만들어서 바꿔주어야한다

 

 

A → temp

B → A

Temp → A

 

이 기능을 함수로 만들어보자!

 

MySwap 함수를 만든 뒤

 

매개변수를 만들어주고 로컬 변수에 Temp를 입력해준다

왜? 중간에 임시적으로 사용하기 때문에!

 

 

함수를 만들어주었으면, 다시 레벨 블루프린트로 돌아와서

 

 

MySwap을 만들어주고 A와 B의 값을 연결한다

여기서의 A,B의 값과 함수의 A,B는 관련이 없다

 

하지만 레벨 블루프린트에서 실행해보면 값이 바뀌지 않는다.. 왜냐

 

여기에서의 A , B는 함수 내부에서의 A, B이기 때문이다

즉, 원본 숫자는 바뀌지 않는 상태인 것이다

 

값을 복사해서 넘겼기 때문에 발생한 문제.

 

참조 타입으로 전달을 해주어야 함

 

함수 블루프린트에서 입력 칸의 토글을 열면 참조전달이 있다.

이걸 체크하면 MySwap안에 A,B가 동그라미였는데 다이아 모양으로 바뀌는 것을 확인할 수 있다

 

 

이 상태에서 다시 레벨 블루프린트로 돌아와서 실행해보면 바뀌는 것을 확인할 수 있다

 

참조라는 것은 어떻게 동작하는 것일까?

결국 주소값을 이용해서 동작. 포인터의 개념과 굉장히 유사하다.

 

참조 타입 → 진퉁을 건든다!

728x90
반응형