유니티(unity) 새로운 입력 시스템과 1인칭 플레이어 설정 (유니티 버전 - Unity 2021.3.6f1) 1)유니티 에셋 스토어(asset store)에서 유니티 공식 1인칭 컨트롤러 에셋을 다운로드합니다. https://assetstore.unity.com/packages/essentials/starter-assets-first-person-character-controller-urp-196525 Starter Assets - First Person Character Controller | URP | Unity 필수에셋 | Unity Asset Store Get the Starter Assets - First Person Character Controller | URP package from U..
유니티(unity)에서 마우스 커서에 사용자 이미지 사용하기 1)마우스 커서에 사용할 이미지 파일을 유니티 프로젝트로 가져오기합니다. 2)해당 텍스처의 texture type을 cursor로 변경하고 적용합니다(apply) 3)새로운 스크립트를 작성합니다. 마우스 커서에 사용할 텍스처를 지정하여 Cursor.SetCursor함수를 사용합니다. 4)게임
유니티(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 폴더를 사용하는 경우 변환이나 압축 없이..