You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
액터를 상속받아 기본 클래스를 생성하면, header에 접근제한자 안 메소드들을 기록해줌으로써 헤더만 이용하여 제한자가 public이라면 다른 클래스에서도 상호 간 함수 작동이 가능하다.
실제 로직은 cpp에 작성하고, 언리얼 엔진에서 오브젝트가 초기화될 때 실행되는 함수는 PostInitProperties()이고 프로퍼티가 변경되었을 때 실행되는 함수는 이것이다. PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
Super:: 는 부모 클래스의 원본 메소드를 가져올 때 사용하게 된다.
다른 값을 변경했을 때에도 그 값에 종속성을 띄고 변경되어야 하는 값들이 있기 마련이고 이 프로퍼티가 변경되었을때 실행되는 함수를 통해서 다른 값에 대한 동기화가 가능하다.
함수에서는 UFUNCTION()을 사용하게 되면 블루프린트에서도 사용할 수 있는데, BlueprintCallable 지정자를 이용하고 카테고리를 지정해줌으로써 이용하기 쉬워진다.
카테고리를 설정해놓으면 블루프린트에서 펑션을 이용할 때 그 카테고리에 대한 펑션을 찾기가 쉬워지기 때문에 유용하다고 생각이 된다.
재훈형이 올려주었던 함수 지정자들을 보고 Blueprint와 C++클래스 간 연동이 잘 되도록 함수나 변수에 대해 이해하자.
또한, 전역변수로 선언하기보다는 header에 변수를 추가함으로써 멤버변수로 선언하는것이 좋고 cpp에 메소드 내부 지역변수를 생성하게 되면 메소드가 끝나면 자연스레 사라지기 때문에 쓰임에 따라 변수 배치가 기본이 된다.
The text was updated successfully, but these errors were encountered:
함수같은 경우에는 UFUNCTION() 선언이 블루프린트에서 사용가능함도 있지만, 사실상 블루프린트는 거의 안씁니다. 유펑션을 활용하는 이유는 바인딩과 델리게이트에 쓰이기 위함인데, 간단한 예시로 버튼을 눌렀을때 함수를 호출해야한다면 엔진은 그 함수가 어떤함수 인지를 알아야 합니다. 그래서 엔진에게 알려주기 위해 유펑션으로 선언해주고, 언리얼 객체인 버튼에 (엔진에게 알려준) 함수를 바인딩 하게 됩니다.
함수같은 경우에는 UFUNCTION() 선언이 블루프린트에서 사용가능함도 있지만, 사실상 블루프린트는 거의 안씁니다. 유펑션을 활용하는 이유는 바인딩과 델리게이트에 쓰이기 위함인데, 간단한 예시로 버튼을 눌렀을때 함수를 호출해야한다면 엔진은 그 함수가 어떤함수 인지를 알아야 합니다. 그래서 엔진에게 알려주기 위해 유펑션으로 선언해주고, 언리얼 객체인 버튼에 (엔진에게 알려준) 함수를 바인딩 하게 됩니다.
@wogns0197 혹시 전 글에 댓글 달아놓았는데 제가 생각한 것과 재훈님이 말씀하신 게 같은지 궁금하네요! 답변 부탁드려요.
그리고 감사드립니다 :)
액터를 상속받아 기본 클래스를 생성하면, header에 접근제한자 안 메소드들을 기록해줌으로써 헤더만 이용하여 제한자가 public이라면 다른 클래스에서도 상호 간 함수 작동이 가능하다.
실제 로직은 cpp에 작성하고, 언리얼 엔진에서 오브젝트가 초기화될 때 실행되는 함수는 PostInitProperties()이고 프로퍼티가 변경되었을 때 실행되는 함수는 이것이다.
PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
Super:: 는 부모 클래스의 원본 메소드를 가져올 때 사용하게 된다.
다른 값을 변경했을 때에도 그 값에 종속성을 띄고 변경되어야 하는 값들이 있기 마련이고 이 프로퍼티가 변경되었을때 실행되는 함수를 통해서 다른 값에 대한 동기화가 가능하다.
함수에서는 UFUNCTION()을 사용하게 되면 블루프린트에서도 사용할 수 있는데, BlueprintCallable 지정자를 이용하고 카테고리를 지정해줌으로써 이용하기 쉬워진다.
카테고리를 설정해놓으면 블루프린트에서 펑션을 이용할 때 그 카테고리에 대한 펑션을 찾기가 쉬워지기 때문에 유용하다고 생각이 된다.
재훈형이 올려주었던 함수 지정자들을 보고 Blueprint와 C++클래스 간 연동이 잘 되도록 함수나 변수에 대해 이해하자.
또한, 전역변수로 선언하기보다는 header에 변수를 추가함으로써 멤버변수로 선언하는것이 좋고 cpp에 메소드 내부 지역변수를 생성하게 되면 메소드가 끝나면 자연스레 사라지기 때문에 쓰임에 따라 변수 배치가 기본이 된다.
The text was updated successfully, but these errors were encountered: