보스 부분은 아직 보완해야할 부분이 많아서 건너띄고 리팩토링 후 포스팅할 생각입니다. 그럼 그전에 셰이더 부분부터 보겠습니다. 계산을 하는 부분입니다. 앞전에 셰이더 튜토리얼에서 작성한 부분입니다. 기본 툰 셰이더는 텍스쳐로 값을 받아서 적용시켜야해서 기존 툰 셰이더보다 코드로 툰 셰이더를 작성해서 사용해보자라는 취지로 만들었습니다. 왼쪽이 기존 셰이더인 그림자를 적용 안한 모습입니다. 오른쪽은 어두운면엔 간접광인 엠비언트 라이트를 추가하고 그림자와 빛 사이 스무브 스텝(smoothstep) 함수를 사용하여 매끄럽게 블렌딩해줬습니다. 다음은 정반사(Specular reflection)와 림 라이트 (Rim lighting)을 만들어서 적용 시켰습니다. 정반사는 보는 방향인 즉, 카메라가 보는 방향을 따라..
팀프로젝트를 마무리 단계는 코드를 분석하여서 정리하기로 하였습니다. 전 플레이어 연출인 카메라 부분 및 낙하 판정을 하는 부분을 분석해보려고 합니다. 협업한 친구가 코드를 잘 정리하여 보내주었습니다. 굿 카메라가 벽에 닿을 시 처리하는 부분 /*초기 값 설정*/ private float defaultPosition; private float targetPosition; public Transform cameraTransform; defaultPosition = cameraTransform.localPosition.z; cameraTransform.localRotation = Quaternion.identity; cameraTransform.parent = pivotTransform; // TPS 카메라 ..
주말동안 알고리즘 책을 읽고 나서 문득 생각해보니 코드테스트 전 합격 여부인 포폴이 중요한데 포폴을 좀 더 정리해야겠다고 생각해서 문서를 보강하기로 했습니다. 먼저 애너미 구조 설계를 상속 형태로 리팩토링, AI를 Nav Mesh Agent로 구현, 애너미 애니메이션을 살펴보겠습니다. 리팩토링전 스크립트입니다. 보기와 같이 fleldOfView와 같이 외부 스크립트 의존성이 높고 전체적 가독성이 떨어지며 확장성, 다양성이 좋지 못합니다. 리팩토링 후 스크립트입니다. 가독성은 말할 것도 없이 좋아졌고 MeleeEnemy라는 파생 스크립트로 근거리 애너미를 만들었습니다. 다양성이 좋아졌습니다. 확장 또한 가능하게 세분화한 상태입니다. 상속을 사용 시 협업 시 유리합니다. EnemyAttack 이라는 함수를 ..
Enemy를 코드를 정리하여 다시 만들어볼 생각입니다. 중간 링크는 공부 자료입니다. 간단 설명으로 부족한 부분을 채우고 필요할때 보기 위함입니다. 들어가기 전 생각하고 가야할껄 한번 되새기고 작성 중에도 가끔 보게 적어놓도록 하겠습니다. KISS - Keep It Simple, Stupid : 간결하게 만들어야 그걸로 복잡한걸 만들 수 있다. (한가지 기능(함수), 한가지 책임(클래스), UI는 UI만) HCL - High Cohesion Louse Coupling : 높은 응집도(Cohesion), 낮은 결합도 (단어 설명) 간단하게 설명하면 비슷한것들 끼리 뭉쳐야하고 서로의 의존도는 낮아야 합니다.(오해 할 수 있으니 단어 설명을 보는걸 추천드립니다.) DRY - Don't Repeat Yourse..
셰이더 기초 - 고냥이도 이해하는 그래픽스와 셰이더 기초편 - 1/3 by 우덜 :: WD ART. 위 링크는 가볍게 보기 좋은것 같아 가져왔습니다. 툰 셰이더 튜토리얼 - .Unity Toon Shader Tutorial - Roystan 툰 셰이더 튜토리얼을 해보고 적용 시킬 생각입니다. (기본적인 글의 그림은 위 링크가 출처입니다.) 일단 기본적인 유니티 셰이더로 조명과 상호작용하는 Surface Shaders(서피스 셰이더)를 일반적으로 사용합니다. 방향성 조명 (Directional lighting) 조명 데이터를 받기 위해 코드를 추가합니다. Tags { // 포워드 렌더링에 사용, 앰비언트 라이트, 주 방향 광원, 버텍스/SH 라이트 및 라이트맵이 적용 "LightMode" = "Forwar..