- Today
- Total
목록전체 글 (356)
프로그래밍 농장
임포트한 맵의 콜라이더 전체 생성후 아래와 같이 Grass만 잡아서 콜라이더를 제거해준다. 이후 Grass는 실제 롤과 같이 이전 포스팅에서 작성하였던 쉐이더를 활용하여 일정거리 접근 혹은 trigger시 불투명해지도록 처리할예정.
이번 포스팅에서는 캐릭터의 기본적인 리깅과 다이나믹 본을 적용한 보다 자연스러운 연출을 구현한다. 그리고 캐릭터의 이동은 클릭을 통한 이동을 수행하며 이는 레이캐스트(ScreenPointToRay)를 통하여 잡아주도록 하였다. - 알게 된 사실 -> 마야와 같은 랜더링툴로 export된 오브젝트들은 에디터에 따라 오브젝트에 collision이 내장되어 있는 경우가 존재한다. 해당 프로젝트에서는 collision없이 바닥체크는 되었지만 마우스 클릭을 통해 Raycast 처리를 하려고 할때 정상적으로 동작하지않아, 뒤져본 결과 해당 사실을 알게 되었다. -> 캐릭터가 RaycastHit.point 찍은 방향으로 가긴가는데 자연스럽게 이동하지않는현상 : transform.forward를 이동방향으로 잡아주면 ..
스탠다드 셰이더를 사용하여 머티리얼을 생성할 때 “스탠다드” 및 “스탠다드 (스페큘러 설정)” 중 하나를 선택할 수 있습니다. 선택에 따라 사용되는 데이터가 다음과 같이 다릅니다. Standard : 셰이더는 머티리얼이 메탈릭인지 아닌지 나타내는 “메탈릭” 값을 표시합니다. 메탈릭 머티리얼인 경우 알베도 컬러에 따라 스페큘러 반사의 컬러가 제어되고 대부분의 광원이 스페큘러 반사로 반사됩니다. 비메탈릭 머티리얼은 입사광과 컬러가 동일한 스페큘러 반사를 반사하고 표면을 정면으로 바라볼 때 거의 반사되지 않습니다. Standard (Specular setup) : 기존 방식으로 접근하려면 이 셰이더를 선택해야 합니다. 스페큘러 컬러는 머티리얼의 스페큘러 반사의 컬러와 강도를 제어하는 데 사용됩니다. 따라서 예..
아래와 같이 유니티에서 기본제공하는 Shader 템플릿을 열고 쉐이더그래프를 Lit으로 하나 만들어준다. (Lit은 빛의 영향을 받는 것, 반대로 Unlit은 빛의 영향을 받지 않는 것) 이후 Sphere를 하나만들어주고 빈 머터리얼에 쉐이더를 넣고 아래와 같이 인스펙터를 수정하여 쉐이더를 적용시켜보았다. 머터리얼에서 Texure 스프라이트 .. 색상 . .정도만 잡아주면 된다. 이후 Sphere에 카메라가 근접할수록 흐릿해지도록 기능을 구현하고자 한다면 아래와 같이 쉐이더그래프에서 min~ max값을 두개 추가해주고 값을 조절해주면 된다. 아래에서 실제로 우리가 작업할수있는 부분은 Vertex Shader 와 Fragment Shader이다. Introduction - Vulkan Tutorial Ov..
기존 파티클과 쉐이더 머터리얼을 사용하여 아래와 같이 작업한것을 기반으로 하여 아래와 같이 기본적인 파티클 시스템을 구현하였다. 프로젝트의 목표인 Explosion Effect / 검기 .. 등에 대한 References를 얻기위하여 아래와 같이 자료조사를 하였다. 자료조사는 구글링/Pinterest 또는 아래의 RealTime VFX 사이트를 통하여 얻을수있었다. https://realtimevfx.com/ Real Time VFX A Community for Real-Time Visual Effects Artists realtimevfx.com 블랜더를 통해 Sphere를 아래와 같이 뭉쳐준 후, 아래 순서와 같이 Surface를 다듬어서 파티클 머터리얼로 쓰이게 될 FBX파일로 Export해준다. ..
각 플레이어가 게임서버에 접속시 2가지 문제가 발생하였다. 1. FieldItem이 중복/덮어씌워지는 문제 2. 클라이언트_1 이 아이템을 습득하였는데 클라이언트_2의 인벤토리에 해당 아이템이 들어가는 경우 ( 위 경우 Scene상의 Item은 정상적으로 동기화된다. ) 최초에는 아래와 같은 포톤Docs 에서 언급하였듯 포톤과 유니티 생명주기상의 문제로 인한 에러로 판단하였는데 비슷했지만 아니었다. start() / awake()문이 생명주기상에서 문제가있어 정상 동작하지않은부분도 있지만 더 정확히 말하자면 콘솔에러메세지 그대로 마스터클라이언트가 최초 접속하지않은 Status인데 프리팹을 Instantiate하려해서 발생한 문제였다. 이후 아래와 같이 함수화하여 마스터클라이언트 접속 후 동작하도록 구현하..