본문 바로가기

Unity 유니티36

Unity 유니티 간단한 카메라 쉐이크 구현 코드!! 아래 코드를 카메라 컴포넌트가 있는 오브젝트에 포함해주세요.호출해보시고 수치를 조절해가며 사용하시길 바랍니다.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152using System.Collections;using UnityEngine; public class CameraShakeComponent : MonoBehaviour{     private void Start()    {        //테스트로 시작 시 호출        StartShake(0.5f, 0.3f);    }          //외부에서 호출하여 카메라 쉐이크를 시작하는 함수.    public void Start.. 2024. 8. 30.
Unity 유니티 벡터와 벡터의 연산 Vector!! 유니티(Unity)에서 벡터(Vector)는 3D 공간에서 위치, 방향, 크기 등을 나타내는 중요한 개념입니다. 벡터는 Unity의 Vector3 구조체를 사용하여 표현됩니다. 또한, 2D 게임을 위해 Vector2 구조체도 사용됩니다. 이 설명에서는 주로 Vector3를 중심으로 벡터의 개념과 사용 방법을 설명하겠습니다.벡터(Vector)란?벡터는 크기와 방향을 가진 물리량입니다. Unity에서 벡터는 주로 위치(Position), 이동(Movement), 방향(Direction), 힘(Force) 등을 나타내는 데 사용됩니다.Vector3Vector3는 3차원 공간에서의 벡터를 나타내는 구조체입니다. Vector3 객체는 x, y, z의 세 가지 구성 요소를 가집니다.생성 및 초기화  벡터 연산은 U.. 2024. 5. 21.
Unity 유니티 초보들을 위한 기본적인 2D 케릭터 움직임 - 이동 Rigid body2D MovePosition 유니티에서 케릭터 이동하는 방법엔 여러가지가 있습니다. 이번 포스트에선 RigidBody2D를 활용한 케릭터의 이동을 알아보도록 하겠습니다. 1. 새로운 오브젝트를 하나 생성합니다. 하이어라키 창의 +버튼을 누르거나 하이어라키 창에서 오른쪽 마우스를 눌러 Create Empty. 2. 생성한 오브젝트를 선택하고 인스펙터 창에서 이름을 변경하고 포지션을 초기화 합니다.   3. 케릭터 이미지를 오브젝트에 추가합니다. 우선 생성한 오브젝트를 선택 후 인스펙터 창에서 Add Component를 누름. 그후 2D 이미지를 그려줄 Sprite Renderer 컴포넌트를 추가합니다. 4. 케릭터로 쓰고자 하는 이미지를 Sprite Renderer 컴포넌트의 Sprite 변수에 연결합니다. 해당 부분에 직접 파일을 .. 2024. 5. 2.
Unity 유니티 UI Button 버튼 OnClick 함수 등록 방법 유니티에서 UI 버튼에 함수를 등록하는 방법은 여러 가지가 있습니다. 주로 사용되는 방법은 스크립트를 이용하는 것이며, 인스펙터를 사용하여 직접 할당하는 방법도 있습니다. 인스펙터를 사용한 방법이 방법은 유니티 에디터의 인스펙터 패널을 사용하여 직접 버튼의 클릭 이벤트에 함수를 연결하는 방법입니다. 간단한 단계로 UI 버튼에 함수를 등록할 수 있습니다. 1. 우선 버튼을 하나 생성합니다. 2. 스크립트를 하나 생성하여 호출할 함수를 작성합니다.  3. 생성한 스크립트를 하이어라키에 오브젝트 중 하나에 추가합니다. 4. 버튼 오브젝트를 선택 후 OnClick에 함수를 등록할 수 있도록 + 를 누릅니다. 5. 여기서 중요한 것은 스크립트 파일을 연결하는 것이 아닌 스크립트를 추가한 오브젝트를 버튼 해당 부분.. 2024. 4. 24.
Unity 유니티 SerializeField 어트리뷰트(attributes) SerializeField는 Unity에서 매우 중요한 어트리뷰트 중 하나입니다. 이 어트리뷰트는 클래스의 private 필드라 할지라도 Unity 인스펙터에서 보이게 하여, 게임 개발자가 Unity 에디터를 통해 값을 조정할 수 있게 해줍니다. SerializeField를 사용하면 스크립트의 캡슐화를 유지하면서도, 유연하게 데이터를 조작할 수 있는 큰 장점이 있습니다. SerializeField 사용 방법SerializeField 어트리뷰트는 비공개(private) 또는 보호된(protected) 멤버 변수에 붙여서 사용합니다. 공개(public) 필드에는 필요하지 않습니다, 왜냐하면 공개 필드는 기본적으로 인스펙터에 노출되기 때문입니다. 예를 들어, 다음과 같이 사용할 수 있습니다.     Seria.. 2024. 4. 18.
Unity 유니티 RequireComponent 어트리뷰트(Attribute) 특정 컴포넌트를 자동으로 추가하고 싶다면!! RequireComponent는 유니티(Unity)에서 매우 유용한 어트리뷰트(attribute)로, 특정 컴포넌트가 게임 오브젝트에 붙어 있어야 다른 컴포넌트가 제대로 작동할 수 있을 때 사용됩니다. 이를 통해 필수적인 컴포넌트의 자동 추가를 보장하며, 실수로 중요한 컴포넌트를 빼먹는 것을 방지할 수 있습니다. RequireComponent 사용 방법 RequireComponent는 클래스 선언 위에 어트리뷰트로 추가합니다. 사용할 때는 다음과 같이 타입을 인자로 넣어 지정합니다. 빈 오브젝트에 위 스크립트를 추가하면 바로 Rigidbody 컴포넌트가 추가되는 것을 볼 수 있습니다. 스크립트에 의해 추가됨으로 해당 컴포넌트는 제거하려해도 제거되지 않습니다. 만약 Rigidbody가 이미 존재한다면 아무.. 2024. 4. 18.
Unity 새로워진 길찾기 AI Navigation 2.0의 변경점 Unity에서 제공하는 길찾기 AI Navigation 2.0이 등장했습니다. 기존의 Navigation도 충분히 쓸만했지만 한층 더 업그레이드 되었습니다. 이전 버젼과는 어떠한 점들이 변경되었는지 알아봅시다. 1. 패키지 형태로의 전환 이전 버전: AI 내비게이션 기능이 Unity 에디터에 내장되어 있었습니다. 이는 개발 환경에 따라 제한적인 업데이트와 개선이 이루어졌습니다. AI Navigation 2.0: 이 기능은 이제 패키지 매니저를 통해 설치하고 업데이트할 수 있는 패키지 형태로 변경되었습니다. 이로 인해 사용자가 필요에 따라 최신 기능을 추가하고, 보다 유연하게 관리할 수 있게 되었습니다. 2. 컴포넌트 기반 설정 이전 버전: 내비게이션 설정이 내장된 UI를 통해 조절되며, 사용자의 제어가 .. 2024. 4. 14.
Unity 6 유니티 6의 전반적인 개선 사항!! 이번 2024 GDC에서 Unity의 최신 버젼인 Unity 6의 기능들과 로드맵에 대해서 프레젠테이션이 있었습니다. 유니티를 즐겨쓰는 저로선 많은 기대가 되는데요. 더불어 유니티를 통해 게임을 만들고 있거나 만들고자 하시는 분들에게도 Unity 6의 출시는 큰 희소식일 것 같네요. Unity 6의 출시가 가까워지면서, 게임 개발 커뮤니티는 다가오는 새로운 기능과 개선 사항들에 대해 큰 기대를 하고 있습니다. 이미 사용 가능한 Unity 6 베타 버전은 주로 실험적인 목적으로 사용되며, 생산 환경에서의 사용은 권장되지 않습니다. 하지만, 5월에 출시될 예정인 Unity 6 프리뷰 버전은 모든 Unity 6의 기능을 포함하며, 버그 수정 및 마무리 단계를 거친 후, 생산 환경에서 사용할 준비가 될 것입니다.. 2024. 4. 9.
Unity 유니티 c# 웹 사이트 열기 Application.OpenURL 유니티를 통해 앱이나 게임내에서 외부의 웹 사이트를 열어야 할 경우가 있습니다. 이러한 경우 쉽게 사용할 수 있는 메서드가 있는데 바로 Application.OpenURL입니다. 위 예제처럼 Application.OpenURL 메서드의 매개 변수로 열고자 하는 웹 사이트 주소를 대입해서 호출하게되면 해당 웹사이트가 열리게 됩니다. OpenURL 메서드를 버튼에 등록하여 호출해보도록 합시다. 우선 매개변수로 주소를 받을 수 있도록 메서드를 수정합니다. 유니티 에디터에서 버튼을 하나 만들어 해당 스크립트를 추가해줍니다. 버튼 컴포넌트의 On Click에 버튼 오브젝트를 연결하여 호출할 메서드인 OpenURL 메서드를 등록하고 매개변수의 값인 웹사이트 주소를 입력합니다. 버튼을 눌러서 해당 웹사이트가 잘 열리.. 2024. 4. 2.
Unity 유니티 프리팹이란?? Prefab?? Unity에서 프리팹(Prefab)은 미리 구성된 게임 오브젝트의 템플릿입니다. 이를 사용하면 복잡한 구성 요소와 설정을 갖춘 게임 오브젝트를 쉽게 재사용할 수 있으며, 한 번의 설정으로 여러 인스턴스에서 공통적인 변경 사항을 적용할 수 있습니다. 프리팹은 게임 개발 과정을 효율화하고, 대규모 프로젝트에서 일관성을 유지하는 데 큰 도움이 됩니다. 만약 아래의 이미지와 같은 몬스터가 있고 게임 내에서 아래 몬스터를 여러개 복사하여 사용하고 있을 경우  해당 몬스터 모두에게 어떠한 변화가 생겨야 한다면 예를들어 아래 이미지처럼 외형이 변경이 되어야 한다면 일일히 모든 복사한 몬스터를 선택하여 외형을 변경해 주어야 합니다. 하지만 프리팹으로 만들어둔 파일을 활용할 경우. 원본 파일 즉 프리팹 파일이 변경이 된.. 2024. 4. 1.
Unity 유니티 비쥬얼 스튜디오 편집기 업데이트 비쥬얼 스튜디오나 코드를 사용하려고 하면 위와 같은 경고 메시지가 뜨는 경우가 있습니다. 이는 경고창의 메시지 처럼 편집기 버전이 오래되어 지원되지 않는 것들이 있을 수 있기에 업데이트를 해주시면 됩니다. 먼저 유니티 에디에서 Window -> Package Manager을 열어줍니다. 패키지 매니저 창에서 Visual Studio Editor를 선택 후 오른쪽 설명 창에 업데이트 버튼을 눌러 업데이트 하시면 됩니다. 2023. 10. 13.
유니티 코루틴?? Unity Coroutine?? hp회복 예 Unity에서 반복되는 행위는 보통 Update 메소드 내에서 처리를 합니다. 하지만 만약 반복 중에 대기시간이 필요하다면 Update 메소드 내에서 처리하는 건 무리가 있습니다. 대기하는 동안 다른 동작들 역시 다 멈춰버리기에 특정 행위만 대기시간을 갖게 하거나 대기에 따른 특정 이벤트를 처리하고 싶다면 Coroutine 코루틴을 활용하시면 됩니다.Coroutine 코루틴의 주요 특징1. 비동기 실행: 코루틴은 비동기적으로 실행됩니다. 위 이미지에서 보듯 복잡한 작업을 게임의 메인 루프와 독립적으로 수행할 수 있습니다.2. 시간 지연 및 대기: 코루틴 내부에서 yield 키워드를 사용하여 시간 지연을 하거나, 특정 조건이 충족될 때까지 대기할 수 있습니다.3. 프레임 조절: 코루틴은 프레임마다 실행되기.. 2023. 8. 29.
반응형