유니티에서 3D 캐릭터 모델의 휴머노이드 아바타 생성하기(Humanoid Avatar) 1)mixamo 웹사이트에서 T-Pose 캐릭터 모델을 다운로드합니다. https://www.mixamo.com/ 2)다운로드한 T-Pose 캐릭터 모델을 3D프로그램에서 확인합니다. 3D맥스에서 캐릭터 모델의 리깅이 완료되어있는것을 확인할수있습니다(rig, skin) 3)모델을 유니티 프로젝트에서 가져오기합니다(import) 4)씬에 해당 모델을 추가하고 계층 구조를 확인합니다(mixamorig) 5)모델의 import settings에서 rig의 animation type을 휴머노이드(humanoid)로 설정합니다. 6)avatar definition을 create from this model로 설정하고 apply..
유니티의 메카님 애니메이션 시스템(Mecanim Animation System) Mecanim Animation System https://docs.unity3d.com/462/Documentation/Manual/MecanimAnimationSystem.html 유니티의 애니메이션 시스템으로 시각적 프로그래밍 도구를 사용하여 애니메이션 클립의 정렬, 전환(트랜지션, transition), 상호작용을 설정하고 관리할수있습니다. 특히 휴머노이드 캐릭터에 대한 애니메이션 셋업 워크플로우를 제공하며 한 캐릭터 모델에서 다른 캐릭터 모델로 애니메이션을 적용할수있는 애니메이션 리타겟팅 기능을 제공합니다(Animation retargeting) 메카님 워크플로우 1-3D프로그램(마야, 맥스,기타)에서 3D아티스트 ..
유니티 에셋 추천 - 도시 시스템 생성 에셋 Fantastic City Generator 빠르고 쉬운 방법으로 도시 및 교통 시스템을 생성할수있는 에셋입니다. https://assetstore.unity.com/packages/3d/environments/urban/fantastic-city-generator-157625 Fantastic City Generator 소개영상 https://youtu.be/q2GhMVubc3E https://youtu.be/lr94kNKMEuA FCG traffic system, 교통시스템 https://youtu.be/LDujofxGoqs FCG adding buildings, 사용자 빌딩 오브젝트 추가 https://youtu.be/kVrWir_WjNY
유니티(Unity)의 스트리밍 에셋 폴더(StreamingAssets)https://docs.unity3d.com/Manual/StreamingAssets.html유니티는 프로젝트 빌드 과정에서 씬(Scenes) 및 에셋(Assets)을 바이너리 파일로 결합합니다. StreamingAssets 폴더를 사용하면 해당 폴더에 존재하는 모든 파일을 타겟 플랫폼의 파일 시스템(특정 폴더)로 그대로 복사하며 Application.streamingAssetsPath 속성을 사용하여 파일 및 리소스에 접근할수있습니다.Application.streamingAssetsPath의 반환 경로는 플래폼마다 다르기때문에 경로 처리가 필요합니다(플랫폼 종속성)StreamingAssets 폴더를 사용하는 경우 변환이나 압축 없이..
유니티(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..
유니티 안드로이드 게임 개발에서 ProGuard/R8(코드 난독화 도구)코드 난독화 (Obfuscation)의 목적은 앱의 소스 코드를 보호하는것입니다. 소스 코드의 가독성을 떨어뜨려 악의적인 사용자가 코드를 분석하거나 역공학하는 것을 방지합니다. 결과적으로 프로그램의 취약점을 찾기 어렵게 만들고 알고리즘과 로직을 보호하여 복제 또는 도용을 방지합니다(보안강화, 지적 재산 보호, 역공학 방지) 코드 난독화는 이름 변경(클래스, 메소드, 변수의 이름을 이해하기 어려운 형태로 변경), 제어 흐름 변환(제어흐름 예를들어 조건문, 반복문 등을 이해하기 어렵게 변형), 코드 인라인화, 데이터 변환, 잘못된 코드 삽입(실행되지않는 코드를 삽입하여 분석 방해)등의 기법을 사용합니다. ProGuard/R8, DexG..
유니티에서 프리팹(Prefab) 사용하기(프리팹생성, apply, select, revert) 씬에서 여러번 재사용되는 게임 오브젝트를 프리팹으로 만들고 사용하는 방법(apply, select, revert) 1)씬에 empty 게임오브젝트를 생성하고(player) 하위에 큐브 오브젝트 두개를 구성합니다. 2)이 게임 오브젝트(player)의 프리팹 에셋을 생성하려면 해당 게임 오브젝트를 선택하고 프로젝트(project) 윈도우의 에셋(Assets) 폴더로 드래그, 드롭합니다. 에셋 폴더에 프리팹 에셋이 생성된것을 확인할수있으며 씬에 존재하는 해당 프리팹 게임 오브젝트는 파랑으로 표시됩니다(Hierarchy) 3)씬의 프리팹 오브젝트를 복사합니다. 씬(hierarchy)에 존재하는 프리팹 오브젝트의 속성..
인텔 리얼센스(intel real sense)와 유니티 sdk 자료모음 Intel RealSense wiki https://en.wikipedia.org/wiki/Intel_RealSense 인텔리얼센스 https://support.intelrealsense.com/hc/en-us/community/posts/5691237901331-interactive-floor 인텔 리얼센스 기술 https://www.intel.com/content/www/us/en/architecture-and-technology/realsense-overview.html 인텔리얼센스 트래킹 유형 https://www.intelrealsense.com/types-of-tracking-overview/ 인텔리얼센스를 사용한 스켈리톤..
유니티 실습 예제 공굴리기 게임 만들기1 (플레이어 방향키 이동 설정, 카메라 이동 설정) 1)씬에 sphere, plane 게임 오브젝트를 생성합니다(player, ground) 2)새로운 재질을 생성하고 ground에 할당합니다. 3)플레이어(player)에 리지드바디(rigidbody) 컴포넌트를 추가합니다. 4)상단의 edit 메뉴에서 project settings의 input으로 이동합니다. 5)Horizontal, Vertical 축에 대한 입력이 좌우 및 상하 방향 키로 설정되어있는것을 확인할수있습니다. 6)플레이어(player)에 새로운 사용자 스크립트를 추가합니다(PlayerController) 7)사용자 스크립트를 작성합니다. 게임을 플레이하고 방향 키를 입력하면 플레이어(player)..
유니티 webGL 프로젝트 사용자 템플릿(templates) 설정하기 https://docs.unity3d.com/Manual/webgl-templates.html 1)유니티에서 webGL프로젝트를 빌드하고 브라우저에서 실행하면 일반적으로 아래와 같은 기본 템플릿을 확인할수있습니다. 2)project settings의 player에서 resolution and presantation로 이동합니다. webGL template에. default 템플릿으로 설정되어있는것을 확인할수있습니다. 3)새로운 사용자 템플릿을 프로젝트에 가져오기합니다. 예에서 아래 웹사이트의 프로젝트 템플릿을 다운로드 및 가져오기하였습니다(웹페이지에서 전체화면으로 게임을 실행하는 템플릿) https://github.com/greggma..
itch.io 웹사이트에 유니티 webGL 프로젝트 업로드하기 유니티 webGL프로젝트와 같이 브라우저에서 플레이할수있는 게임을 업로드하는 경우 몇가지 선택해야하는 옵션이 있습니다. 1)유니티에서 빌드한 webGL 프로젝트를 준비합니다. 기본적으로 build, streamingAssets, TemplateData, index.html 폴더 및 파일로 구성되어있습니다. 2)zip파일로 압축합니다. 3)itch.io 웹사이트에서 프로젝트를 업로드합니다. kind of project에서 HTML을 선택합니다. https://itch.io/ 4)압축한 zip파일을 업로드합니다. 하단의 옵션에서 this file will be played in the browser에 체크합니다. 파일 사이즈 제한은 1gb입니다...
유니티에서 VR게임 개발 - 오큘러스 컨트롤러 절전모드 비활성화 1)project settings의 XR Plug-in management에서 Oculus에 체크되어있는것을 확인할수있습니다. 2)OpenXR에 체크합니다. 3)XR Plug-in management의 OpenXR로 이동합니다. 4)새로운 interaction profiles 추가에서 Oculus Touch Controller Profile을 선택합니다. 5)오큘러스 터치 컨트롤러 프로파일이 추가된것을 확인할수있습니다. 유니티를 재실행하고 게임을 시작하면 시간이 지나도 오큘러스 컨트롤러가 절전모드로 진입하지않습니다.