본문 바로가기
728x90
반응형

unreal Delegate3

[UnrealEngine] 문 버튼 색깔 바꾸기 buttonMesh->SetVectorParameterValueOnMaterials(FName("doorStateColor"), FVector4(0.505f, 0.015f, 0.00974f, 1)); 생성자에서 Material에 코드로 접근할 수 있다. Material 안에서 Parameter을 만들어주고, 그 Parameter 이름을 doorStateColor 라고 해줄 것이다. 이름이 같아야한다. 안그러면 엔진에서 material의 색을 찾아낼 수 없다. 원래 문 버튼의 색은 빨간색으로 해 놓고, 퀴즈를 다 풀었을 때 버튼의 불빛이 푸른 빛으로 바뀌게 할 것이다. 그런데 그것을 해결하기 전 이 문 버튼의 활성화 부분에서 치명적인 버그가 있었다. 그 버그를 해결하면서 이 문 색깔이 바뀌게 하기 위한 작.. 2023. 6. 10.
[UnrealEngine5]버튼을 누르면 문 열고 닫기 C++ (5) 게임의 퍼즐 요소들과 레벨들을 모두 한 곳에 모아놓고 테스트를 진행하는 과정에서 문이 열리는 방향에 대한 이슈가 발생했었다. 그래서 처음에는 열리는 방향이 다른 문들에 대한 클래스를 따로 만들어주었는데, 코드가 겹쳐(?)서 혼선이 발생하는 듯한 느낌이 들어 정리해주었다. 하나의 클래스를 가지고 여러 문 BP를 만들어주어 관리했다. BP 는 같은 클래스에서 상속 받아 여러개를 만들고, 서로 다른 값들을 적용해줘야하는 것들은 Instance 상에서 관리할 수 있도록 변수를 만들어주었다 처음에는 mesh 자체의 relative Location방향으로 조정해줄까 하다가, 아니다 싶어서 다른 방법을 생각해내었다. 일단은 회전되어있는 문 자체는 현재 2가지이다. 0도 상태의 문과 90도 회전해있는 문, 그래서 이 .. 2023. 5. 20.
[UnrealEngine5]버튼을 누르면 문 열고 닫기 C++ (4) 스테이지를 클리어했을 때 버튼을 누르면 레벨에 배치된 모든 문이 열고 닫히도록! 이 코드를 완성하기까지 델리게이트라는 단어를 너무 너무 많이 부르고 외쳤다. Get All Actors Of Class를 사용해 레벨에 배치된 모든 문들을 찾아주었다. Get Actor Of Class는 반환하는게 있어서 변수에 값을 넣어줄 수 있지만 Get All Actos Of Class는 반환하는게 없기 때문에 따로 변수에 넣어줄 수 없더이다. 그리고 그 안에 있는 outDoorsActors 이것은 헤더에 만들어준 TArray 변수이다. TArray에 레벨에 배치된 문들을 찾아 담아주는 것이다. 그런 다음.. 어떻게 하지...? 고민을 정말 많이 했었다.. 미지의 영역 Delegate 결국 결국 찾아낸 것은 Delega.. 2023. 4. 28.
728x90
반응형