일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- unity
- map design
- gameplay effect
- listen server
- 유니티
- nanite
- 언리얼 엔진
- stride
- gameplay ability system
- gas
- ability task
- Unreal Engine
- 게임개발
- gameplay tag
- CTF
- animation
- network object pooling
- local prediction
- photon fusion2
- Multiplay
- UI
- 보안
- attribute
- MAC
- rpc
- 게임 개발
- os
- 언리얼엔진
- Replication
- Aegis
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 |