본문 바로가기

분류 전체보기104

[Unity] JSON 이용하여 데이터 저장하기 JSON(JavaScript Object Notation)은 데이터를 교환하고 저장하기 위한  텍스트 기반 데이터 교환 표준이다. 사실 이러한 정의보다, 오늘 포스팅할 'JSON 파일을 이용해 Unity에서 데이터를 저장하고 불러오는 방법'을 알아보기 위해서는 다음 사항을 숙지하는 것이 더 중요하다. 1. JSON으로 만들 코드는 반드시 클래스 형식이어야 한다.2. Class를 string 형식의 JSON 파일로 변환하고, 해당 파일을 저장한 후, 다시 string 형식을 1.에서 정의한 class 형식으로 변환시켜 데이터를 복구한다. 이 포스팅에서는 플레이어 캐릭터의 좌표, 회전값, 레벨을 json 파일로 저장하고, 다시 불러오는 기능을 구현한 예제를 통해 JSON을 이용하여 데이터를 저장하고 불러오는.. 2024. 8. 28.
[ShaderGraph] Node 반전(One Minus) Node를 반전시키는 방법은 (1-node) 이다. 가령 파란색(0,0,1)을 RGB 색상에서 반대되는 색인 노란색(1,1,0)으로 만드려면 (1-(0,0,1))을 해야 하는 것이다. (1,1,1) - (0,0,1) = (1,1,0) 이 된다는 것을 생각하자. Subtract Node를 통해 해당 기능을 구현할 수도 있지만 해당 기능을 위한 'One Minus' 라는 node가 별도로 준비되어 있다.  아주 간단하게 그냥 one minus 노드를 생성하고 반전시키고자 하는 값을 input으로 넣어 주면 끝이다. 2024. 7. 4.
[ShaderGraph] Swizzling Swizzling이란 node의 각 자리를 서로 바꾸는 작업을 의미한다. 1. Split node와 Combine node를 이용한 Swizzling먼저 (1,0,0) 의 값을 가진 Vector3 node를 Color에 연결해 준다.  Split node를 통해 Vector3의 값을 각각 1, 0, 0으로 분해해 준 후, Combine node에 해당 값들의 위치를 재조정하여 연결한다.  이 방식을 통해 (1,0,0)의 값을 (0,1,0)으로 swizzle 하였다. 해당 Shader가 적용된 material의 색상 역시 (1,0,0) -> (0,1,0)이 되었으므로 초록색으로 변한다. 2. Swizzle node를 직접 이용한 Swizzlingswizzle node의 Mask 값을 조정하여 위와 완전히 .. 2024. 7. 4.
[Unity] GameObject의 이동(기본) Unity에서 GameObject를 이동시키는 방식에 대해 다룬다. 기본기이지만, 유닛들이 거의 움직이지 않는 게임들 위주로 만들고 연습하다 보니 쓸 일이 생각보다 없어서 따로 가볍게 정리해 놓는다. 1. Transform.Translate[SerializeField] private Vector3 directionalVector; [SerializeField] private float speed; private bool _isMoving = false; // Start is called before the first frame update void Start() { } // Update is called once per frame void Upda.. 2024. 6. 10.