Unity/정보 33

[Unity] 스텐실 버퍼(Stencil Buffer)

스텐실 버퍼 소개 스텐실 버퍼 쉐이더를 이용하여 특정 투명한 물체를 통해서 볼때만 볼 수 있는 물체를 만들고자 한다. 아래 영상을 처음보고 신기하여 만들어 보았다. https://www.youtube.com/watch?v=4zAt8YKoso4 위 영상을 기반으로 만든것이 아니라 좀 더 자세히 알고 싶어서 아래 주소를 알아내어 따라해봤다. https://www.alanzucconi.com/2015/12/09/3873/ 주요 기능 1. StencilGeometry (보여지는 물체) Shader "Stencils/StencilGeometry" { Properties { _StencilMask("Stencil Mask", Int) = 0 _Color ("Color", Color) = (1,1,1,1) _Main..

Unity/정보 2023.10.26

[Unity] Boids 군집 알고리즘

Boids 군집 알고리즘 소개 Boids는 인공 생명 알고리즘으로, 개체 간 상호 작용을 통해 동물의 군집 움직임을 표현하는데 사용한다. Boids는 각 개체마다 다음 3개의 규칙을 가지고 움직인다. separation: 무리와 충돌하지 않게 반대 방향으로 이동 alignment: 무리의 평균 방향으로 조향 cohesion: 무리의 평균 위치를 향해 이동 boids가 여러 방법이 있는데 그 중 아래 영상을 참고로 만들어볼것이다. 아래 영상은 군집의 타겟이 있으며 이를 중점으로 따라가는 형식이다. https://www.youtube.com/watch?v=_CTzKiVTFPQ Boids 구현 1. Boids 코드 public class Boids : MonoBehaviour { [SerializeField]..

Unity/정보 2023.10.16

[Unity] 고급네비메쉬

고급네비메쉬 소개 유니티에서 2022 버전부터 기존 네비메쉬의 단점을 보완한 고급네비메쉬를 제공한다. 이에 대해 알아보자. 아래 영상을 참고했다. https://www.youtube.com/watch?v=OIcqe4ad5oA 유니티 패키지 매니저에서 AI 네비게이션을 인스톨하자. 유니티 버전이 2022 이상이 아니라면 아래 깃허브에서 고급네비메쉬를 따로 추가해줘야한다. https://github.com/Unity-Technologies/NavMeshComponents GitHub - Unity-Technologies/NavMeshComponents: High Level API Components for Runtime NavMesh Building High Level API Components for Ru..

Unity/정보 2023.09.23

[Unity] Poisson Disk Sampling

Poisson Disk Sampling 소개 알고리즘을 사용하여 특정 영역에서 지정된 반지름 내에 겹치지 않는 점을 생성하는 것을 말합니다. 아래 영상을 참고하여 알아볼 것이다. https://www.youtube.com/watch?v=7WcmyxyFO7o 주요 기능 위 영상에서 쓰인 코드는 2개로 첫번째는 실제로 배치될 위치를 계산하는 코드다. 각 후보 위치는 주어진 반지름 내에서 무작위로 생성되고, IsValid 메서드를 사용하여 다른 점과 충돌하지 않는지 확인한다. 후보 위치가 통과할 경우 위치 목록에 추가하고 격자 배열에 해당 위치를 표시한다. 그렇지 않은 경우, 후보 위치는 제거한다. spawnPoints 리스트가 비어질 때까지 반복하며 최종적으로 사용될 위치가 들어가있는 points 리스트가 ..

Unity/정보 2023.09.16

[Unity] Path Creator - 설정한 경로대로 물체 움직이기

Path Creator 소개 유니티 및 깃허브에서 무료로 사용 가능하며 사용자가 설정한 경로대로 물체가 움직이도록하는 기능이다. 커브 같은 것도 자연스럽게 경로가 잡히므로 여러 방면으로 사용 가능할 듯 싶다. https://assetstore.unity.com/packages/tools/utilities/b-zier-path-creator-136082 Bézier Path Creator | 유틸리티 도구 | Unity Asset Store Use the Bézier Path Creator from Sebastian Lague on your next project. Find this utility tool & more on the Unity Asset Store. assetstore.unity.com or..

Unity/정보 2023.08.31

[Unity] 스크립트 인스펙터 꾸미기

1. Header (string) 인스펙터 내에 타이틀을 달 수 있다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class inspectorTest : MonoBehaviour { [Header("Title name")] public int speed; public int power; public int HP; } 2. Space (float) 필드 사이에 여백을 만들 수 있다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class inspectorTest : MonoBehaviour..

Unity/정보 2023.05.09

[Unity] 사용자 커스텀 마우스 커서 적용

1. 코드상으로 적용하기 UnityEngine.Cursor.SetCursor(cursorTexture2D, hotSpot, cursorMode); cursorTexture2D - 커서 이미지로 사용될 Texture2D hotSpot - 텍스쳐의 어느 부분을 마우스의 입력 좌표로 할 것인지 cursorMode - Cursor.Auto와 Cursor.ForeceSoftware가 있다. Auto는 하드웨어의 커서를 사용하며 윈도우 커서에 이미지를 입힌다. (일반적 사용) ForeceSoftware는 소프트웨어에서 커서를 그려서 사용한다. 2. 에디터로 적용하기 에디터로 적용하는건 기본상태 커서 밖에 없다. 일단 사용하고자 하는 이미지의 Texture Type을 Cursor로 변경해준다. 이후 Project S..

Unity/정보 2023.04.25

[Unity] apk 용량 경량화 방법들

1. 빌드시 압축 방식 빌드 할 때 압축 방식을 아래 사진의 위치에서 선택 할 수 있다. 해당 옵션은 다음과 같이 3가지가 있다. Default 기본 압축 포맷입니다. ZIP는 LZ4 및 LZ4HC보다 압축률은 조금 더 뛰어나지만 데이터의 압축을 푸는 속도가 느립니다. LZ4 개발용 빌드에 적합한 고속 압축 포맷입니다. LZ4 압축을 사용하면 Unity에서 빌드된 게임과 앱의 로딩 시간이 크게 향상됩니다. 자세한 내용은 BuildOptions.CompressWithLz4를 참조하십시오. LZ4HC 높은 압축률을 자랑하는 LZ4 변형 포맷입니다. LZ4HC는 빌드 속도가 느리지만 릴리스 빌드에서 더 뛰어난 결과를 제공합니다. LZ4HC 압축을 사용하면 Unity에서 빌드된 게임과 앱의 로딩 시간이 크게 향..

Unity/정보 2023.04.21