Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 깃허브 데스크탑 합치기
- 오브젝트 깜빡임
- 유니티
- 유니티 머지
- 유니티 브랜치 merge
- githubdesktopmerge
- navigation
- 몬스터
- M590
- Unity
- 유니티 합치기
- nav거리
- 깃허브 데스크탑 병합
- 유니티 해상도 설정
- nav오브젝트사이거리
- Github DeskTop Merge
- networkobject.networkid
- m585
- stateauthority
- m585 수리
- m590 수리
- unity merge
- NavMesh
- networkobject
- unity git
- networkbehaviourid
- 유니티 해상도 변경
- 유니티 해상도
- unity 병합
Archives
- Today
- Total
집게사장의 꿈
[영혼들] 아이템 표시 본문
아이템 표시
주요 아이템 사용을 위해 플레이어에게 해당 아이템을 식별 할 수 있어야 됩니다.
그렇기에 아이템에 눈에 띌 수 있도록 RimShader를 적용합니다.
Rim Shader?
오브젝트 바깥쪽에서 안쪽으로 색의 농도를 약하게 면서 Alpha값을 0~1값으로 일정 시간마다 깜빡거리도록 만든 것입니다.
쉐이더 코드
오브젝트에서 카메라를 바라보는 Normal을 기준으로 Dot을 구해서 적용합니다.
half face = saturate(dot(i.WorldSpaceViewDirection, i.normal));
face 값으로 각 frag에서 카메라를 바라보는 각과 같은 경우 1이 나온다.
half rim = 1.0 - ( pow(face, _RimPower));
루트 곡선 형태의 증가률
VertexOutput vert(VertexInput v)
{
VertexOutput o;
o.vertex = TransformObjectToHClip(v.vertex.xyz);
o.normal = TransformObjectToWorldNormal(v.normal);
//각 Vertex에서 카메라를 바라보는 방향
o.WorldSpaceViewDirection = normalize(_WorldSpaceCameraPos.xyz - TransformObjectToWorld(v.vertex.xyz));
return o;
}
half4 frag(VertexOutput i) : SV_Target
{
float3 light = _MainLightPosition.xyz;
//임의로 지정한 색
float4 color = float4(0.5, 0.5, 0.5, 1);
half3 ambient = SampleSH(i.normal);
//카메라방향과 오브젝트 노말값을 내적한 크기
half face = saturate(dot(i.WorldSpaceViewDirection, i.normal));
//0~1까지의 루트 형태의 곡선
half rim = 1.0 - ( pow(face, _RimPower));
//빛에 영향을 받도록 합니다.
color.rgb *= saturate(dot(i.normal, light)) * _MainLightColor.rgb + ambient ;
//최종적으로 Rim을 적용합니다.
color.rgb += rim * _RimInten * _RimColor;
return color;
}
쉐이더 그래프로 옮기기
쉐이더 그래프로 일정 주기마다 깜빡거리도록 변경하였습니다.
인게임
'제작 > 영혼들' 카테고리의 다른 글
[영혼들] 씬 불러오기 (0) | 2024.08.02 |
---|---|
[영혼들] 사운드 추격 (0) | 2024.08.02 |
[영혼들] 컬라이더로 맵에서 플레이어의 위치 찾기 (0) | 2024.08.02 |
[영혼들] 아이템 상호작용 (0) | 2024.08.02 |
[영혼들]아이템 - 오르골 (0) | 2023.11.04 |