본문 바로가기

Unity

(15)
Prototype5: MonoBehavior, Awake(), Start(), this vs gameObject MonoBehavior 모든 Unity 스크립트가 파생되는 기본 클래스(스크립트) 프로젝트창에서 C# 스크립트를 생성하면 MonoBehavior를 자동으로 상속한다. 에디터에서 게임 오브젝트에 스크립트를 연결할 수 있는 프레임워크를 제공한다. Awake() 게임오브젝트가 로드될 때 한 번만 호출된다 Start() 스크립트가 활성화 되고난 후 Update가 처음 호출되기 직전에 호출된다 this vs gameObject this 스크립트 나 자신. 스크립트 그 자체(=스크립트 컴포넌트) gameObject 내 집. 스크립트가 붙어있는 게임 오브젝트. 그렇기 때문에 gameObject를 통해 게임 오브젝트의 위치, 회전, 스케일 등 기본 속성에 접근할 수 있다. gameObject를 통해 게임 오브젝트에 붙..
AudioSource : 게임에 BGM, Sound Effect 적용하기 SoundManager라는 빈오브젝트를 만들고 여기에 SoundManager 스크립트를 추가했다. 그리고 사용할 클립들을 모두 끼워 넣을 clip 배열과 이를 재생할 Play() 메서드를 작성했다. 장소에 따라 배경음악을 실행하도록 플레이어에게 BgmController 스크립트를 추가했다. 플레이어의 위치를 감지하기 위해 모래사장의 레이어를 "Sand"로 설정하고 CollisionEnter를 이용해 SoundManager의 인스턴스를 불러 오디오클립을 실행했다. AudioSource 소리를 재생하는 플레이어 스피커 볼륨: 0 ~ 1 AudioClip 오디오 소스가 재생할 때 필요한 음원 파일(mp3, wav등) AudioListener 소리를 듣는 주체 주로 메인 카메라에 AudioListener 컴포..
Amplify Shader: Portal, 포탈 만들기 Amplify Shader란?예전 버전의 셰이더로 노드 방식이 언리얼과 비슷하다Amplify Shader를 사용하기 위한 프로젝트 환경 및 준비물3D URP (URP 아니어도 사용 가능)포탈 텍스쳐와 일렁이는 효과를 줄 노이즈 텍스쳐 1~2장나는 포탈 텍스쳐 3장과 일렁이는 노이즈 텍스쳐 2장을 이용했다효과를 극적으로 확인하고 싶다면 Game 화면을 어두운색으로 변경한다Window > Rendering > Lighting >Environment > Skybox Material > NoneAmbien/t Color > 어두운색으로 변경MainCamera > Color > 어두운색으로 변경셰이더 생성Create > AmplifyShader > Surface 최적화를 위한 셰이더 기본 설정Output Node..
Global Volume : 체력 닳는 효과 (Post Processing) FPS(Firts-Person Shooter) 게임에서 자주 볼 수 있는 효과로 게임도중 공격을 받거나 체력이 깎이면 화면 가장자리를 빨갛게 만들어 주는 효과를 만들어 보았다. 사실은 Post processing 컴포넌트를 이용해 만들려고 했으나 왜인지 효과가 먹히지 않아서 결국 Global Volume을 사용했다. 포스트 프로세싱이 효과를 조금 더 세부적으로 설정할 수 있는 것 같은데 설정 과정 자체는 글로벌 볼륨이 훨씬 간단하게 느껴졌다. Global Volume 참고링크 How To Add Post Processing! | Unity Tutorial 프로젝트 환경: URP, 2022.3.4f1 설정 방법 Volume > Global Volume 추가 Profile > New > 새로운 profi..
Unity 실시간 2D 기초 Challenge: Sprite pachinko 사용 Object 및 Componetnt Clouds 2D Object > Sprites > Circle Property Sprite Renderer > Sprite > 사용할 이미지 선택 Component Circle Collider 2D Frefab 적용 동일한 오브젝트가 여러 개 필요할 때 오브젝트를 프리팹으로 만든다. 프리팹으로 사용할 오브젝트를 Hierarchy에서 Project > Assets > Frefabs 폴더로 드래그한다. 프리팹의 property를 변경하면 이를 통해 생성된 모든 오브젝트에 일괄 적용됨 Sun 2D Object > Sprites > Circle Property Sprite Renderer > Sprite > 사용할 이미지 선택 Component Circle Colli..
벽돌 머티리얼 만들기, 통통 튀는 탄성 추가하기 Material(머티리얼) 오브젝트 표면의 특징과 이러한 표면이 광원과 상호 작용하는 방식을 정의한 컴포넌트 오브젝트에 덧씌울 패턴/벽지를 만드는 것 1. 머티리얼을 생성한다. 2. 머티리얼을 설정할 게임 오브젝트에 비주얼 프로퍼티를 추가한다. 3. 광원을 설정한다. 머티리얼 만들기 Assets 우클릭 > Create > Material Inspector > Albedo > 동글뱅이 > Herringbone_Brick_BaseColor 관련 프로퍼티 - Tiling x, y값으로 머티리얼 패턴의 스케일을 변경 숫자가 작을수록 패턴이 크게 표시 됨 물리 머티리얼 추가하기(Physic Material) Bouncy Ball: 통통 튀는 탄성 만들기 오브젝트에 탄성, 마찰, 항력 등을 부여 이러한 프로퍼티는 ..
Create a burst particle - 연기가 피어오르는 효과 만들기 참고 Unity Learn - Create a burst particle 새로운 파티클 만들기 Firepit > 우클릭 > Effects > Particle System Duration :PlaybackTime - 모션의 전체 재생 시간을 설정한다. Emission :Bursts - 입력한 Time내에 Count만큼의 입자를 최초 1회 생성한다. Start Lifetime 입자가 화면에 살아있는 시간을 설정한다. :Random Between Two Contatns - 각 입자마다 두 값 사이의 임의 값을 할당한다. 입자들이 서로 다른 시간에 사라지게 된다. Start Speed 생성된 입자가 움직이는 속도를 설정한다. Texture Sheet Animation: Tiles & Renderer: Mater..