목록Develop Study/Unity (46)
Araina’s Blog
1. IEnumerator 메서드는 실행할 때마다 참조값이 바뀐다. public void StartWeaponAction(int type = 0) { if (type == 0) { // 좌측 마우스 버튼 클릭; 사격 if (this.weaponSetting.isAuto == true) { StartCoroutine(OnAttackLoop()); } else { OnAttack(); } } } public void StopWeaponAction(int type = 0) { if (type == 0) { StopCoroutine(OnAttackLoop()); } } private void OnAttack() { if (Time.time - this.lastAttackTime > this.weaponSetti..
1. 개요 유독 VSC는 골치를 썩이는 일이 많은 것 같다. Unity에서 VSC를 연동할 때, 자동 완성이 작동하지 않을 경우가 잦은데, 해결법을 알아본다. 2. Could not locate MSBuild instance to register with OmniSharp. 2022년 5월 이후부터는 Visual Studio Build Tools 2022를 통해 .net 데스크톱 빌드 도구를 설치해주어야 한다. 아래 주소를 타고 가서 빌드 도구를 설치하자. Visual Studio Tools 다운로드 - Windows, Mac, Linux용 무료 설치 Visual Studio IDE 또는 VS Code를 무료로 다운로드하세요. Windows 또는 Mac에서 Visual Studio Professional..
1. LOD LOD는 렌더링을 할 때 카메라와 오브젝트 사이의 거리를 계산하여 특정 거리 이상 멀어지면 폴리곤 수가 더 낮은 저사양 모델링으로 변경하여 자원 소모를 절약하는 기능이다. 일반적으로 3단계로 구성되며, 멀티 플레이 게임에서 상대방 플레이어와 자신의 거리가 어느 정도인지에 따라 모델링을 바꾸는 기법을 사용하면 최적화 효과를 볼 수 있다. 2. LOD Group 컴포넌트 LOD Group 컴포넌트는 카메라와 피사체의 거리에 따라 렌더링 할 메시를 결정한다. 오브젝트를 선택하고 Component - Rendering - LOD Group을 선택하면 컴포넌트를 추가할 수 있다. 추가된 컴포넌트에서 LOD 0, LOD 1, LOD2 자리에 원하는 메시를 드래그&드롭하여 연결해주면 설정이 완료된다. L..
1. Cast Shadows 오브젝트의 Inspector 창에서 Mesh Renderer 컴포넌트를 열어보면, lighting이라는 탭이 존재한다. 이 부분은 Renderer 계열의 컴포넌트에 있는 그림자 관련 속성으로, Mesh Renderer와 동일하게 Renderer 계열 컴포넌트인 Skinned Mesh Renderer에도 존재한다. Cast Shadows는 빛을 받아서 오브젝트 자신이 그림자를 생성할 것인지를 결정하는 속성이다. 게임에서 그림자는 시각적 효과에 탁월한 기능을 하지만, 엔진에 많은 부하를 주기 때문에 신중하게 설정해야 하는 부분이기도 하다. Cast Shadows에는 다음과 같이 4가지 속성 값이 존재한다. 속성 설명 Off 그림자를 생성하지 않음 On 그림자를 생성함 Two Si..
1. Time.deltaTime Unity 입문을 막 시작한 시절에 오랫동안 나를 괴롭혔던 기능 중 하나가 Time.deltaTime이다. Time.deltaTime은 이전 프레임의 시작 시각, 현재 프레임이 시작되는 시각의 차(델타)를 의미한다. 즉, 이전 프레임에서 현재 프레임으로 넘어오는 데 걸린 시간 간격을 의미한다. 아래와 같은 코드가 있다고 가정하자. private void Update() { transform.Translate(Vector3.forward * 10); } Update() 메서드 안에서 실행되고 있는 코드이므로, 1 프레임 단위로 10 유닛(10m)을 이동시킬 것이다. 게임이 만약 30 FPS로 실행되고 있다면 Update() 메서드는 1 프레임 단위로 실행되는 메서드이므로, ..
1. Animation Type Unity에서 애니메이션 작업을 할 때 선택할 수 있는 속성 값이 나눠진다. Player 오브젝트에 애니메이션을 적용할 경우, Player 오브젝트의 Import Settings 화면에서 Rig 탭을 클릭한다. Inspector 창에 Animation Type 드롭 다운 메뉴를 클릭하면 None, Legacy, Generic, Humanoid로 총 4가지 속성 값이 노출된다. 이 4가지 항목은 다음과 같다. Animation Type 옵션 설명 None 애니메이션을 사용하지 않음 Legacy 하위 호환성을 위해 이전 버전에서 쓰이던 애니메이션 방식을 사용함 Generic 매카님 애니메이션 방식을 사용함. 인체형이 아닌 3D 모델에 적용. (리타게팅 불가) Humanoid ..
출처 The .NET Core SDK cannot be located. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on When I open my vs code program I get this message: The .NET Core SDK cannot be located. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path. If I stackoverflow.com OmniSharp.MSBuild.ProjectManager Attempted to update ..
출처 비주얼 효과 구현 – 사용자 인터페이스 – 헤드업 디스플레이 - Unity Learn 지금까지 메인 캐릭터가 다쳤을 때 Debug.Log를 사용하여 현재 체력 수준을 출력했습니다. 하지만 플레이어에게는 콘솔 창이 없으므로 게임에서 로그를 볼 수 없습니다. 따라서 피드백을 제공하기 learn.unity.com 1. 체력 게이지 바를 만들자. 게임 개발 도중 체력 게이지 바를 만들 일이 생겼다. 아래 사진은 출처에 걸린 유니티 튜토리얼 문서에서 캡처한 것이지만, 로직은 같으니... 게임을 해본 사람이라면 알겠지만, 저 파란색 게이지가 체력 수치를 나타내 주는 게이지다. 저걸 구현하기 위해서 마스크도 세팅하고, 스프라이트도 넣고 잘하고 있었는데... 웬걸, 아무리 아이콘을 눌러봐도 피벗 아이콘이 움직일 ..