유니티(unity)에서 마우스 커서 표시 비활성화하기(Cursor.visible) 1)유니티 게임을 실행하면 기본적으로 마우스 커서가 표시되는것을 확인할수있습니다. 2)유니티에서 새로운 스크립트를 작성합니다. 시작함수에서 커서 표시를 비활성화합니다. Cursor.visible = false; 3)유니티 게임을 실행하면 마우스 커서를 표시하지않는것을 확인할수있습니다. https://docs.unity3d.com/ScriptReference/Cursor.html
유니티에서 윈도우 폴더의 파일을 복사하기, 삭제하기(File.Copy, File.Delete) File.Copy함수를 사용하여 파일 복사하기 1)윈도우에서 두 개의 폴더를 준비합니다. 2)첫번째 폴더에 다른 폴더로 복사할 파일들을 위치시킵니다(source) 3)두번째 폴더는 첫번째 폴더에서 복사하여 새로 파일을 생성할 폴더입니다(backup) 4)유니티에서 스크립트를 작성합니다. 지정한 폴더에 위치한 모든 파일을 문자열로 가져오기하고 모든 파일에 대해 첫번째 폴더(sourceDir)의 기존 파일을 두번째 폴더(backupDir)의 새 파일로 복사합니다. 5)게임을 시작하면 해당 폴더에서 복사하여 생성한 파일들을 확인할수있습니다. File.Delete함수를 사용하여 파일 삭제하기 6)윈도우 폴더에서 삭제할..
유니티에서 윈도우 폴더의 이미지 파일을 로드하여 텍스처로 사용하기 1)윈도우 폴더에 텍스처로 사용할 이미지 파일을 위치시킵니다. 2)유니티에서 스크립트를 작성합니다. 지정한 경로의 이미지 파일을 읽기하고 텍스처로 로드하여 게임오브젝트의 메인 텍스처로 사용합니다.
유니티에서 윈도우 폴더의 파일 읽기 File.ReadAllBytes(String) 함수 File.ReadAllBytes함수는지정한 경로의 파일을 열기하고 파일의 내용을 바이트배열로 읽기하고 파일을 닫기합니다. https://learn.microsoft.com/ko-kr/dotnet/api/system.io.file.readallbytes?view=net-7.0 1)윈도우 폴더에 이미지 파일을 준비합니다. 2)유니티에서 스크립트를 작성합니다. 이미지 파일이 위치한 폴더의 경로와 파일명을 지정하여 File.ReadAllBytes함수를 사용합니다. 3)게임을 시작하면 콘솔 윈도우에서 해당 파일을 읽기하고 파일의 크기를 출력합니다. Debug.Log(bytes.Length); 4)해당 이미지 파일의 크기가 동일..
유니티 텍스처 이미지 로드함수 ImageConversion.LoadImage 이미지 파일(PNG, JPG, 기타 지원 파일 형식)의 바이트 배열을 텍스처로 로드하는 함수 사용방법 함수 사용에서 텍스처 형식, 압축형식, 색 공간, 기타에 대한 내용을 아래 웹사이트에서 확인 https://docs.unity3d.com/ScriptReference/ImageConversion.LoadImage.html 1)씬에 텍스처를 맵핑할 게임오브젝트를 준비합니다. 2)아래 스크립트를 작성하고 게임오브젝트에 추가합니다. 새로운 텍스처를 생성하고 이미지의 바이트 배열을 텍스처로 로드합니다. 해당 텍스처를 스크립트의 게임오브젝트 재질의 메인 텍스처로 사용합니다.
유니티에서 휴머노이드 캐릭터의 애니메이션 리타게팅 한 캐릭터 모델에서 다른 캐릭터 모델로 애니메이션을 적용하는 방법 애니메이션이 존재하지않는 첫번째 캐릭터에서 애니메이션이 존재하는 두번째 캐릭터의 애니메이션을 사용하기 1)유니티에서 휴머노이드 아바타를 생성한 첫번째 캐릭터 게임 오브젝트를 준비합니다. 유니티에서 3D 캐릭터 모델의 휴머노이드 아바타 생성하기(Humanoid Avatar) 첫번째 캐릭터(Ch46_nonPBR) 2)애니메이션이 완료된 두번째 캐릭터를 준비합니다. 예에서 지오메트리가 존재하지않고 본 오브젝트로만 구성된 애니메이션된 모델을 3D맥스에서 내보내기하였습니다. 3)유니티 프로젝트에 애니메이션된 두번째 캐릭터 모델을 가져오기합니다. 두번째 캐릭터(New_Recording_1) 4)3D프..
유니티에서 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..
유니티에서 프리팹(Prefab) 사용하기(프리팹생성, apply, select, revert) 씬에서 여러번 재사용되는 게임 오브젝트를 프리팹으로 만들고 사용하는 방법(apply, select, revert) 1)씬에 empty 게임오브젝트를 생성하고(player) 하위에 큐브 오브젝트 두개를 구성합니다. 2)이 게임 오브젝트(player)의 프리팹 에셋을 생성하려면 해당 게임 오브젝트를 선택하고 프로젝트(project) 윈도우의 에셋(Assets) 폴더로 드래그, 드롭합니다. 에셋 폴더에 프리팹 에셋이 생성된것을 확인할수있으며 씬에 존재하는 해당 프리팹 게임 오브젝트는 파랑으로 표시됩니다(Hierarchy) 3)씬의 프리팹 오브젝트를 복사합니다. 씬(hierarchy)에 존재하는 프리팹 오브젝트의 속성..