유니티 재질의 렌더링 모드(rendering mode) 종류 유니티에서 재질의 Rendering Mode는 재질(Material)의 렌더링 방식을 설정하는 속성으로 오브젝트의 투명도 사용여부 및 혼합모드 유형을 설정합니다. https://docs.unity3d.com/Manual/StandardShaderMaterialParameterRenderingMode.html rendering mode의 종류 Opaque(불투명) 기본값으로 완전히 불투명한 일반 오브젝트에 사용합니다. 알파 채널을 사용할수없습니다. Cutout(컷아웃) 완전히 불투명하거나 완전히 투명한 영역(반투명 영역이 존재하지않음)의 가장자리가 hard edge인 오브젝트에 사용합니다. 이미지의 특정한 영역을 잘라내는데(cutout) 사용할수..
유니티 리모트(unity remote) 앱을 사용하여 실시간 모바일 테스트하기(안드로이드, ios) (사용버전 - Unity 2021.3.6f1, unity remote 5) Unity Remote를 사용하면 안드로이드 또는 ios 기기를 사용하여 프로젝트를 빌드할 필요없이 에디터의 플레이모드에서 실시간으로 게임을 테스트할 수 있습니다. https://docs.unity3d.com/kr/2019.4/Manual/UnityRemote5.html 1)모바일 기기를 데이터 케이블을 사용하여 pc에 연결합니다. (안드로이드의 경우 USB디버깅허용, 아이폰의 경우 아이튠즈 설치) 2)유니티 에디터의 프로젝트 설정(project settings)에서 editor로 이동합니다. unity remote의 device에..
유니티(unity) 새로운 입력 시스템에서 액션 바인딩 설정하기(input action asset) (유니티 버전 - Unity 2021.3.6f1) 1)프로젝트에서 새로운 input actions 에셋을 생성합니다. 2)input action asset의 편집으로 이동합니다(edit asset) 3)좌측 상단에서 add control scheme를 선택합니다. 4)새로운 control scheme의 이름을 설정하고 유형을 선택한후에 저장합니다(New control scheme) 5)새로운 control scheme이 추가된것을 확인할수있습니다(New control scheme) 6)action maps의 +버튼을 클릭하여 새로운 액션 맵을 추가합니다. 7)새로 추가된 액션을 선택하고(New action..
유니티(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..