Unity 썸네일형 리스트형 Sorting Group 프로젝트 제작 중 배경 스크롤링 방법 구현에 조금 애를 먹었다. 프로젝트 사양: 2D, Cinemachine 사용, Orthographic 카메라 사용 Cinemachine을 사용하자니 카메라 움직임 위치가 연동이 잘 안돼 스크롤링하는 오브젝트가 카메라 밖을 벗어나도 다시 돌아오지 않는 버그가 있었고(물론 코드를 잘못 썼을 수 있음), quad나 plane으로 배경 이미지를 Material로 집어넣어 스크롤링 하자니 orthographic 카메라에서는 depth 구분이 잘 되지 않아 레이어가 잘 나누어지지 않는 사고가 발생한다. 그리고 무엇보다 셰이더에는 Sorting Layer와 Order in Layer 옵션이 없다... 하지만 포기하지 말자!이렇게 Sorting Group 컴포넌트를 사용하면 Mat.. 더보기 Particle System 좌우반전 보통 좌우반전한다면 Scale의 X값에 음수를 붙여 구현할텐데, 파티클 시스템은 그렇게 하면 위치가 전부 깨져서 큰일날 수 있다. 그래서 대신 Rotation의 Y값을 조정하는 것 같다. 단, 파티클 시스템의 자식이 Rotation값이 다르다면 그것까지 고려하여 계산되니 되도록이면 자식의 rotation값은 0으로 두는 것이 낫다. 그리고 좌표축이 달라 회전값에 따라 대각선으로 이동하는 경우도 있으니 잘 고려하여 만들자... 더보기 Slider와 HPBar HP바 구현이라고 하면 체력에 따라 슬라이더가 가감되는 기능이 핵심이라고 할 수 있다. 하지만 항상 제작할 때 기본 슬라이더 옵션을 사용하면 Slder Handle의 스프라이트만큼 Fill 영역이 채워지지 않아 곤란한 경험이 있었을텐데... 생각해보니 아주 쉬운 해결 방법이 있었던 것이다.Fill 영역의 Image Type을 Filled로 바꿔준다. 또한 개체의 체력 관리 시 프로퍼티를 잘못 선언하면 매 참조할 때마다 풀피가 되어버리는 현상이 일어날 수 있다... [SerializeField] private int playerCurrHP = 600; [SerializeField] private int playerMaxHP = 600; public int PlayerCurrHP { .. 더보기 Physics2D와 RaycastHit2D 2D 프로젝트를 진행하면서 Ray 인식이 잘 안되길래 확인해봤는데, RaycastHit와 Physics를 3D로 사용하고 있어서 그런 것이었다...using System.Collections;using System.Collections.Generic;using UnityEngine;public class ObjectBeam : MonoBehaviour{ [SerializeField] private LayerMask groundLayer; [SerializeField] private float rayDistance = 100f; void Update() { RaycastHit2D hit = Physics2D.Raycast(transform.position, Vect.. 더보기 애니메이션에서 TextMeshPro 컬러가 바뀌지 않는 문제 여기의 Color가 아니라Font Color 프로퍼티를 사용해야 한다!! 더보기 [UI] 키보드 입력만 받는 버튼 주로 ARPG 게임에서 볼 수 있는 그 버튼이다. Q, E, R 등 지정된 키를 입력하면 할당된 버튼이 눌리는 간단한 동작 방식이다.이렇게 간단한데 왜 쓰게 됐냐면... Button Component에서 Navigation을 잘못 연결하면 Horizon, Vertical 키를 눌러도 해당 키가 눌러진 것처럼 보이기 때문이다. 사실 그렇게 보인 이유도 Highlighted Sprite랑 Selected Sprite가 Pressed Sprite와 동일한 스프라이트라 그런 거지만 아무튼 알아둬서 나쁠 건 없다.결론은 키 입력으로만 버튼의 상태를 바꿀 것이기 때문에 Navigation 기능이 필요 없다는 것이다. 그러므로 Navigation을 None으로 세팅한다. 보통 Interact 가능한 UI를 처음 생.. 더보기 점프 시 조정해야 할 요소 점프 속도가 너무 느려요!! 의 해답을 찾기 위한 조정 1. 플랫포머일 시 플레이어 위에 존재하는 타일에 플레이어가 부딪히지 않도록 점프 시에만 Rigidbody를 해제하는 코드 필요2. 점프 속도, 높이 조절- Rigidbody1) Collision Detection: collider끼리 충돌할 시 감지 방법을 바꾸는 법(예를 들어 모드에 따라 콜라이더가 다른 콜라이더에 파고드는 버그가 생길 수 있음)2) Interpolate: 프레임 업데이트 모드 - Project Settings > Physics- Gravity y축 점검(default: -9.81)*Rigidbody의 Gravity Scale과는 다른 방식인 것 같다...? 점프 속도가 너무 느리다면 Rigidbody보다 Physics의 Grav.. 더보기 [Excel Importer Package] Exception: Invalid excel cell type at row {1}, column {2}, {3} sheet. 패키지 내에서 해당 오류를 추적하면 Excel Importer 스크립트만 뜨고, Debug.Log Error 코드가 보인다.대충 해석하면 엑셀 6행 5열에서 적절하지 않은 셀 서식이 확인됐다는 것이다. 이는 한 열을 불러올 때 한 열의 셀에 두 가지 이상의 셀 서식이 확인됐을 때 나타나는 오류인 것 같다. 어쩌면 숫자를 입력했을 때 텍스트 형식으로 인식해서 엑셀 내에서도 이러한 오류를 경고로 띄웠을 수 있다. 셀 서식을 통일하자! 추가: 엑셀에서 오류가 검색되지 않아도 유니티 상에서 위 오류를 띄울 수 있다. 그럴 때에는 오류가 발생한 행이나 열을 전부 삭제한 뒤 내용을 다시 입력하면 엑셀에 오류가 잡히게 되며 평소처럼 해결하면 된다. 더보기 이전 1 2 3 4 5 다음