| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- listen server
- 유니티
- os
- photon fusion2
- 보안
- CTF
- 게임개발
- attribute
- gameplay ability system
- animation
- MAC
- rpc
- UI
- gameplay tag
- Multiplay
- linear regression
- Unreal Engine
- stride
- ability task
- Replication
- local prediction
- unity
- widget
- gameplay effect
- 게임 개발
- C++
- 언리얼 엔진
- Aegis
- gas
- 언리얼엔진
Archives
- Today
- Total
Replicated
[ChronoSpace] Switch 본문
전에 했던 InteractionInterface 써서 스위치 상위 클래스를 만들 것

일단 애셋 보면 이렇게 생긴 스태틱 메시
활성화 시 메시 메테리얼을 바꾸면 될 듯

인덱스 1번이랑 3번 바꾸면 될 듯

활성화 시 쓸 메테리얼이랑 비활성화 시 쓸 메테리얼 만들고

생성자에서 연결

그리고 스태틱 메시 컴포넌트나 트리거 등등 설정
void ACSSwitchBase::BeginInteraction()
{
InteractionPromptComponent->SetVisibility(true);
}
void ACSSwitchBase::EndInteraction()
{
InteractionPromptComponent->SetVisibility(false);
}
void ACSSwitchBase::Interact()
{
bIsInteracted = !bIsInteracted;
SetMaterial();
}
인터페이스 구현은 이렇게 되어 있음
프롬프트 활성화, 비활성화 해주고
Interact()에서 메테리얼을 설정해줌
void ACSSwitchBase::SetMaterial()
{
if ( bIsInteracted )
{
StaticMeshComp->SetMaterial(1, MaterialSolidInteracted);
StaticMeshComp->SetMaterial(3, MaterialGlowInteracted);
}
else
{
StaticMeshComp->SetMaterial(1, MaterialSolidNonInteracted);
StaticMeshComp->SetMaterial(3, MaterialGlowNonInteracted);
}
}
메테리얼 슬롯 맞춰서 설정해주는 함수 구현

작동은 이렇게 됨
실제 사용은 ACSSwitchBase 상속받고 Interact 오버라이드 하면 될 듯
'언리얼 엔진 > ChronoSpace' 카테고리의 다른 글
| [ChronoSpace] ** Vector 내적을 이용한 중력 벡터 투영(Projection), 평면화(Flatten) ** (0) | 2025.02.22 |
|---|---|
| [ChronoSpace] Gravity 반전 스위치 (0) | 2025.02.22 |
| [ChronoSpace] Interaction 구현 (0) | 2025.02.19 |
| [ChronoSpace] Patrol 배치, Clockwork Labyrinth 프로토타입 완성 (0) | 2025.02.17 |
| [ChronoSpace] ** Attribute Replication ** (0) | 2025.02.17 |