분류 전체보기
-
같은 맵 계속 반복 시키기(3D).Unity/제로부터 구현 2023. 12. 1. 20:30
오늘의 구현. 만들어진 맵들을 돌려가며 반복적으로 생성시키기. 1. 변수 플레이어가 이동한 거리에 따라 지나친 맵은 삭제하고, 기존에 맵을 플레이어가 진행하는 방향쪽에 맵을 이어 붙일것 입니다. 필요한 변수는 플레이의 위치와, 반복 시킬 맵 프리팹, 지금은 플레이어가 앞으로만 진행할 것이기 때문에 z축의 증가량 만 확인 할 것 입니다. 생성할 맵의 길이로 플레이어가 어느정도 이동했을때 맵을 생성할지 정할 것 입니다. 진행 방향으로부터 처음 생성할 맵은 3개 이며, 플레이어가 이동할때마다 가장 먼저 생겨난 맵을 삭제하고 가장 먼곳에 맵을 생성 할 것 입니다. public Transform player; public GameObject[] maps; private List activeMaps; private..
-
1인칭 시점 구현하기 + 이동Unity/제로부터 구현 2023. 11. 30. 20:58
오늘의 구현 1인칭 시점 만들기 마우스 X,Y를 Input.GetAxisRaw로 가져와 델타타임과 마우스 민감도를 곱해줍니다. 위아래를 바라보게 하기 위해선 x 축으로 회전 시켜야 하고, 오른쪽 왼쪽으로 회전시키기 위해서는 y축을 움직여 줘야합니다. y축기준으로 회전시킬때 음의 방향이 위를 바라봅니다. 위아래 90도를 넘겨 카메라가 뒤집히는 경우를 방지하기 위해 클램핑 해줍니다. 마우스의 움직에 따라 메인카메라의 로테이션을 바꿔줍니다. 양옆으로 움직일때 플레이어의 방향도 바꿔주야 하기 때문에 플레이어의 로테이션 y축만 업데이트 해줍니다. 플레이어가 내가 원하는 방향으로 움직이게 하기위해 빈 게임오브젝트(body)를 플레이어안에 생성해 이를 이용해 이동 방향을 정해줍니다. rigibody.AddForce ..
-
VFX, 전류 Trail 구현하기Unity/제로부터 Effect 2023. 11. 29. 20:56
오늘 구현 전류 trail 구현하기. Visual Effect Subgraph Operator 생성. (Random Direction 노드 만들기) ParticleId를 시드로 사용해 랜덤한 위치값을 생성하기위해 노드 생성합니다. 단위원 안에 랜덤한 세타값을 가져와 싸인, 코싸인으로 Vector2 값을 설정합니다 z축 설정과 함께 particle들을 안쪽으로 좀더 밀집시켜 줍니다. 2번과 3번을 이용해 Vector3 값을 만들어준 뒤 이 값을 반환해줍니다 Visual Effect Graph 생성 파티클 세팅하기. Set Target Position 으로 랜덤한 위치까지 파티클이 이동 하도록 합니다. 랜덤한 백터값과 y축 벡터가 만드는 평면의 수직을 구한뒤 Normalize 해준 값을 Set Custom..
-
프로그래머스 소수 만들기제로부터 C# 코딩테스트 2023. 11. 29. 17:30
주어진 숫자 배열이 주어지고, 중복되지 않은 숫자 3개를 선택해 소수를 만들때 만들 수 있는 소수의 개수를 구하는 문제. 위 문제에서는 nums의 배열이 50이 최대기 때문에 간단하게 풀 수 있는 문제. 주어진 숫자 3개를 더했을 때 나올 수 있는 가짓수를 구한다면 포문 하나로도 풀 수 있을 것입니다. 보통 조합을 구하는 공식은 nCr로, 0부터 100까지 중복되지 않은 3개의 숫자를 선택하여 더할 때, C(100, 3) = 100! / (3! * (100-3)!) = 100 * 99 * 98 / (3 * 2 * 1) = 161,700 가지가 나옵니다. using System; class Solution { public int solution(int[] nums) { int answer = 0; for(..
-
짝 맞추기 카드 만들기, 카드 섞기, 리소스를 사용한 스프라이트 설정Unity/제로부터 구현 2023. 11. 28. 20:48
오늘의 구현 짝 맞추기 카드 만들기 카드 섞기 스프라이트 설정하기. 1. 짝 맞추기 카드 만들기 보드판의 크기 만큼의 카드를 만들고, 0,0(정중앙) 을 기준으로 카드를 만들 것 입니다. 0,0 을 기준으로 카드를 배열할 것이기 때문에 가장 첫번째 카드는 정중앙으로부터 -보드판/2 만큼 떨어져 있습니다. 만들어진 게임오브젝트의 중심점이 보드의 왼쪽 아래 모서리의 위치해 있기 때문에 만들어진 게임오브젝트 또한 중심점을 정중앙으로 만들기 위해 0.5를 더해줍니다. 카드들을 보기 쉽게 서로 간격을 두고 만들기 위해 , outLinePercent(0~1 사이)라는 변수를 받고 게임 오브젝트의 크기를 1로 고정 한 다음 1에서 퍼센트를 뺀값을 곱해주고, 게임 오브젝트의 크기를 곱해줍니다. public void S..
-
3D 플레이어 이동 구현(마우스로 방향전환, 키보드로 방향전환)Unity/제로부터 구현 2023. 11. 24. 19:30
오늘의 구현 캐릭터의 forward는 그대로 두고 캐릭터만 회전시켜 방향 전환 시켜주기. 1. 마우스 포인터로 캐릭터의 방향을 정해주기 2. 단순 키보드로 캐릭터의 방향을 지정. 1. 마우스 포인터로 캐릭터의 방향을 정해주기 마우스 포인터로 캐릭터의 방향을 정해줄 것이기 때문에 마우스 포인터의 위치값을 가져옵니다. 마우스의 포지션은 기본으로 스크린 좌표를 가져오며 마우스 포지션의 z값은 무시 되기 때문에 마우스의 z좌표를 설정해 줘야 합니다. 마우스의 z좌표는 메인카메라의 y - 플레이어의 y 값 입니다.(스크린의 z 축은 화면을 바라보는 사용자와의 거리를 나타냅니다.) 마우스 좌표를 수정해주고 월드 좌표로 변환해줍니다. 월드 좌표로 변환해준 마우스 포지션과 플레이어의 포지션을 빼주고 normalized..
-
TrailShader 만들기Unity/제로부터 Effect 2023. 11. 23. 21:22
1.Trail에 사용할 TrailShader 만들기 간단하게 만든 trailshader에 사용될 Texture 입니다. Blank Shader Graph 만들어 줍니다. Graph Inspector Setting 에서 Active targets 을 universal 설정해주고 Surface type을 transparent, render face를 both로 설정해줍니다. 1. 색상 설정 두가지 색상을 이용해 그레디언트를 만들어줍니다. 2. 텍스처를 설정해 주고 텍스처가 오른쪽으로 이동하게 만들어 줍니다. (위 사진에서는 기본 텍스처를 사용했습니다) 3. 노이즈를 만들어 똑같이 오른쪽으로 이동하게 만들어주고, 노이즈에 그레디언트 효과를 만들어 줍니다. 4. 2번과 3번을 multiply로 곱해주고 clim..
-
마우스 이동에 따른 물체 옮기기, PlayerPrefs를 이용한 최고 점수 저장 밑 불러오기Unity/제로부터 구현 2023. 11. 23. 19:48
오늘의 구현 1. 물체를 마우스의 포지션에 따라 이동시키기 + 이동 영역 제한하기 private void Awake() { camera = Camera.main; cameraHeight = camera.orthographicSize; cameraWidth = cameraHeight * camera.aspect; min = new Vector2(-cameraWidth + padding, -cameraHeight + padding); min = new Vector2(cameraWidth - padding, cameraHeight - padding); } void ClampingPosition() { Vector3 mousePosition = camera.ScreenToWorldPoint(Input.mouse..