유니티의 패키지(pacakge) 라이프사이클 유니티 에디터 버전 2021.1(Unity Editor version 2021.1)부터 패키지는 아래와 같은 수명주기(라이프사이클, lifecycle)을 가집니다. (Experimental, Pre-release, Released, Deprecated) https://docs.unity3d.com/2021.1/Documentation/Manual/upm-lifecycle.html
유니티(Unity) 트랜스폼 회전 관련 함수 모음(Transform.Rotate, Transform.LookAt, 기타)Transform.Rotate게임 오브젝트를 회전시키는 데 사용되는 함수. 회전에 오일러 각도(euler Angles)를 사용하며 회전의 축을 월드(world) 또는 로컬(local)로 지정할수있습니다. https://docs.unity3d.com/ScriptReference/Transform.Rotate.htmlRotate(Vector3 eulerAngles); 축(X, Y, Z)에 대해 회전할 각도를 포함한 Vector3를 사용 Rotate(new Vector3(30, 0, 0))은 X축을 기준으로 30도 회전 Rotate(float xAngle, float yAngle, float..
유니티(Unity) 실습 예제 - 총알을 발사하는 씬 구성하기 1)씬에 새로운 큐브(cube) 오브젝트를 생성하고 바닥(Ground)과 벽(Wall)을 구성합니다. 2)총알로 사용할 3D 모델을 프로젝트에 가져오기(import)하고 씬에 오브젝트를 추가합니다(Bullet) 3)총알 모델의 오브젝트 로컬(local) 축을 확인합니다. z축이 모델의 측면 방향으로 설정되어있는것을 확인할수있습니다. 4)새로운 게임 오브젝트를 생성합니다(create empty) 5)총알 모델의 오브젝트(Bullet)를 GameObject의 자식 오브젝트로 설정하고 위치(position)를 초기화합니다(0, 0, 0) 6)총알 모델의 앞 방향이 GameObject의 z축 방향과 일치하도록 회전시킵니다. 7)GameObject이 ..
유니티 실습 예제 공굴리기 게임 만들기2 (아이템 프리팹 설정, 아이템 획득, 획득 개수 업데이트, UI 텍스트 표시) 1)씬에 cube 오브젝트를 생성합니다(Pick_up) 2)Pick_up 오브젝트를 프리팹(prefab)으로 설정합니다. 3)프리팹의 오브젝트(Pick_up)를 다중 복사하고 위치를 설정합니다. 새로운 게임 오브젝트(empty gameobject)를 생성하고 복사한 오브젝트들의 부모 오브젝트로 설정합니다. 4)Pick_up 오브젝트의 재질을 설정합니다. 5)인스펙터(inspector) 패널의 tag에서 add tag로 이동합니다. 6)+를 클릭하고 새로운 태그 이름을 입력하고 save를 클릭합니다. 7)씬에서 Pick_up 오브젝트를 선택하고 새로 추가한 태그를 설정합니다(P_u) pr..
유니티 실습 예제 공굴리기 게임 만들기1 (플레이어 방향키 이동 설정, 카메라 이동 설정) 1)씬에 sphere, plane 게임 오브젝트를 생성합니다(player, ground) 2)새로운 재질을 생성하고 ground에 할당합니다. 3)플레이어(player)에 리지드바디(rigidbody) 컴포넌트를 추가합니다. 4)상단의 edit 메뉴에서 project settings의 input으로 이동합니다. 5)Horizontal, Vertical 축에 대한 입력이 좌우 및 상하 방향 키로 설정되어있는것을 확인할수있습니다. 6)플레이어(player)에 새로운 사용자 스크립트를 추가합니다(PlayerController) 7)사용자 스크립트를 작성합니다. 게임을 플레이하고 방향 키를 입력하면 플레이어(player)..
유니티(unity)에서 mathf 클래스의 수학함수 사용하기 Mathf 클래스는 게임의 개발에서 필요한 다양한 종류의 수학 함수 모음을 제공합니다(보간, 값 제한과반복, 로그함수,거듭제곱근과 제곱근, 삼각함수, 기타) https://docs.unity3d.com/2021.1/Documentation/Manual/class-Mathf.html https://docs.unity3d.com/kr/2021.1/ScriptReference/Mathf.html Mathf.Clamp() 주어진 값에 대해서 최소값(min)과 최대값(max) 사이의 범위로 제한한 값을 반환합니다. 값이 최소값보다 작으면 최소값을 반환하고 값이 최대값보다 크면 최대값을 반환합니다. 아래 코드에서 변하는 오브젝트의 위치 x(transfor..
유니티(Unity) OnTriggerEnter 함수(콜라이더, isTrigger, 리지드바디)OnTriggerEnter 함수는 트리거 콜라이더(Trigger Collider)가 다른 콜라이더와 접촉하거나(실제 물리적인 충돌을 일으키지 않고) 영역에 진입할때 호출되는 함수입니다. 적이 플레이어의 공격 범위에 진입한 경우, 플레이어 아이템 획득등 게임 오브젝트가 특정 영역에 진입하거나 접촉할 때 발생해야 하는 이벤트를 처리할 때 사용됩니다. 플레이어가 아이템을 획득void OnTriggerEnter(Collider other){ if (other.CompareTag("Player")) { Destroy(gameObject); }}플레이어가 공격 범위의 적을 공격void OnTr..
유니티(Unity) 자주 사용하는 이벤트 함수 종류(초기화, 업데이트, 충돌, 기타)스크립트의 수명 주기(life cycle) 동안 사전에 정해진 순서로 실행되는 이벤트 함수 모음이벤트 함수 설명 및 실행 순서(Execution Order of Event Functions)https://docs.unity3d.com/kr/530/Manual/ExecutionOrder.htmlhttps://docs.unity3d.com/kr/2022.3/Manual/ExecutionOrder.html초기화 및 시작 관련 함수Awake()활성화된 스크립트 인스턴스(enabled script instance)가 로드될 때 호출됩니다. 어플리케이션이 시작되기전에 Awake를 사용하여 초기화 작업을 수행할수있습니다. 항상 모든 ..
유니티와 언리얼 엔진 비교영상(Quixel, Megascans) 메가스캔(Megascans)으로 구축한 환경 비교영상 https://youtu.be/BoREaOiEh9c
유니티에서 Unlit 쉐이더의 그림자 표현(shadow only) 빛의 영향을 받지않는 unlit 쉐이더를 사용하는 오브젝트의 그림자를 표현하기(mesh renderer의 shadow only를 사용한 방법) 1)씬에 큐브 오브젝트를 생성합니다. 기본 재질(Lit)을 사용하는 오브젝트의 그림자가 표현되는것을 확인할수있습니다. 2)Unlit 쉐이더의 재질을 생성하고 큐브 오브젝트의 재질로 설정합니다. 3)Unlit 쉐이더는 빛의 영향을 받지않는 쉐이더로 그림자가 표현되지않는것을 확인할수있습니다. 4)큐브 오브젝트를 복사합니다. 5)복사한 큐브 오브젝트는 오직 그림자를 표현하기 위한것입니다. 6)Lit쉐이더의 재질을 생성하고 복사한 큐브 오브젝트의 재질로 설정합니다. 7)해당 오브젝트의 mesh render..
유니티와 URP - 에디터 호환성, 변경사항, 설치된URP버전확인 유니티 에디터와 URP 호환성 확인(Universal RP requirements) https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.1/manual/requirements.html 유니티 Universal RP 변경로그(Changelog) https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.1/changelog/CHANGELOG.html Changelog | Universal RP | 12.1.7 Changelog All notable changes to this package..
스피드트리(speedtree)에서 파일 저장 및 3D 모델 내보내기(Save, Export)SpeedTree Modeler(Games Indie Edition)스피드트리 파일 저장(Save)1)상단의 file 메뉴에서 save as로 이동합니다. 2)파일 이름을 설정하고 저장합니다. 스피드트리 저장 파일 형식은 spm(speedtree model)를 사용합니다. 3D 모델 내보내기(Export)3)3D 모델을 내보내기하려면 상단의 file 메뉴에서 Export로 이동합니다. 4)또는 뷰포트 상단의 Export를 선택합니다. 5)기본적으로 3D 모델의 메시(Mesh)를 fbx 형식으로 내보내기 할수있습니다. 6)또는 Lumberyard(.cgf), SpeedTree Raw XML(.xml), UE4 / U..