전체 글75 [Unity Course 2] 06. 적 캐릭터 제작 2 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 애니메이터 컨트롤러Animatior Controller 생성 후 MonsterAnim 으로 이름 변경더블클릭하여 애니메이터 뷰 열기애니메이터에서 A 키를 눌러 전체보기, Alt 키를 눌러 이동하기스테이트 종류역할Entry시작 스테이트로 최초의 진입점Exit종료 스테이트로 모든 스테이트가 종료되는 마지막 스테이트Any State 현재 어느 스테이트를 실행하고 있더라도 조건에 만족하면 다른 스테이트로 분기 가능 생성한 Animation Controller도 연결하기실행하면 애니메이터 뷰에서 idle이 실행되는 모습을 볼 수 있음 스테이트 전이와 파라미터Make Transform 을 선택하여 서로 오고가는 연결선을 만들기P.. 2024. 6. 21. [Unity Course 2] 06. 적 캐릭터 제작 1 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 유한 상태머신의 정의 (FSM; Finite State Machine): 적 캐릭터가 스스로 알아서 주변 환경에 적응하거나 들어오는 반응에 적절하게 반작용하도록 구현한 것유한 상태 머신 개념도 FSM의 단점은 상태가 많아질수록 상태와 상태 간의 연결이 복잡해지고 코드의 확장과 유지 보수가 어려워짐이런점을 개선하기 위한 방식은 계층적 유한 상태 머신 (HFSM; Hierachical Finite State Machine), 행동 트리 (BT; Behaviour Tree)메카님리타게팅 기능을 제공하여 인체형 모델의 필수 본 구조와 일치하면 다른 모델의 애니메이션이나 모션 캡처 애니메이션을 바로 적용 가능 - 노드 기반의 .. 2024. 6. 21. [Unity Course 2] 05. 총 발사 로직 7 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 총구 화염 효과 - Muzzle Flash FirePos 하위에 MuzzleFlash 라는 이름의 3D 오브젝트 Quad 를 생성하고 Mesh Collider 컴포넌트는 삭제한다. MeshRenderer 의 Ligthing - Receive Shadows 는 언체크한다. 이 이미지를 04.Images에 임포트한다.네개의 이미지가 있는데 불규칙하게 노출해서 총구의 화염 효과를 표현이 이미지를 MuzzleFlash 로 드래그 한다.쉐이더를 Mobile/Particle/Additive 로 변경 후 Offset 값을 0.5 , 0.5 로 변경4가지의 이미지중 하나의 이미지만 노출하기 위한 타일링 변경using UnityEn.. 2024. 6. 20. [Unity Course 2] 05. 총 발사 로직 6 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.오디오AudioListener, AudioSource 컴포넌트AudioListener : 소리를 듣는 역할AudioSource : 소리를 발생시키는 역할 Listener 는 씬에서 하나만 존재해야됨, Source는 여러개 존재해도 됨오디오 파일 임포트 및 설정 Force To Mono 를 체크하면 용량이 줄어든 모습을 볼 수 있다.음향효과에 극대화 된 게임이 아니라면 활성화 하는 것이 성능 면에서 유리함 오디오 임포트 옵션 - Load TypeLoad Type 옵션설명Decompress On Load실행과 동시에 압축을 해제큰 사이즈 오디오는 오버헤드 발생작은 사이즈의 오디오에 적합압축이 미리 해제된 상태에서 저장되기 .. 2024. 6. 20. [Unity Course 2] 05. 총 발사 로직 5 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 텍스처 변경하기 - Mesh Renderer불규칙한 텍스처를 적용하는 로직 추가using UnityEngine;public class BarrelCtrl : MonoBehaviour{ // 폭발 효과 파티클을 연결할 변수 public GameObject expEffect; // 무작위로 적용할 텍스처 배열 public Texture[] textures; // 하위에 있는 Mesh Renderer 컴포넌트를 저장할 변수 private new MeshRenderer renderer; // 컴포넌트를 저장할 변수 private Transform tr; private Rigid.. 2024. 6. 20. [Unity Course 2] 05. 총 발사 로직 4 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.폭발 효과 및 폭발력 생성 import 해서 받은 Barrel에셋 모델을 씬 뷰에 드래그 앤 드롭미리 만들어진 Barrel의 프리팹은 삭제하고 모델로 작업Scale Factor외부에서 임포트한 3D모델은 반드시 Transform의 Scale 속성을 조절하지 않고 FBX Import Setting의 Scale Factor 속성을 수정하이어라키 뷰에서 Barrel에 Rigidbody와 Capsule Collider 컴포넌트를 추가하고 아래와 같이 속성을 변경한다. Wall에서 사용했던 RemoveBullet 스크립트를 추가하고 SparkEffect도 연결한다. 드럼통은 총알을 3발 맞았을 때 폭발하는 코드 BarrelCtr.. 2024. 6. 20. [Unity Course 2] 05. 총 발사 로직 3 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 총알 발사 궤적 효과 만들기 - Trail RendererTrail Rendererbullet 에 Trail renderer 생성하기 Trail.png 파일은 04.Image에 드래그해서 옮기고, BulletTrail이라는 이름으로 머티리얼을 새로 생성한다.방금 만든 머티리얼을 Bullet의 Trail Renderer에 연결한다.BulletTrail 의 Shader 는 Mobile/Particles/Additive 로 변경하고 아까 옮겼던 Trail이미지를 연결한다. Trail Renderer 컴포넌트의 Time 속성은 동적으로 생성된 메시의 지속시간, 값이 크면 긴 궤적이 되고 값이 작을 수 록 궤적의 길이가 짧아.. 2024. 6. 20. [Unity Course 2] 05. 총 발사 로직 2 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 충돌 이벤트Collider 컴포넌트를 포함한 오브젝트 간의 충돌이 발생하면 OnCollision~ , OnTrigger~ 함수 발생콜백함수라고도 함, 콜백은 충돌감지시스템(back) 에서 호출(Call)한다는 것을 의미 함수명 호출 조건Is Trigger 옵션void OnCollisionEnter두 물체 간의 충돌이 일어나기 시작했을 때언체크void OnCollisionStay두 물체 간의 충돌이 지속할 때언체크void OnCollisionExit두 물체가 서로 떨어졌을 때언체크void OnTriggerEnter두 물체 간의 충돌이 일어나기 시작했을 때체크void OnTriggerStay두 물체 간의 충돌이 지속할 때.. 2024. 6. 19. 단축키 정리 Create New GameObject Shift + Alt + NScene View CameraShift + F꼭짓점 SnappingMove Tool State + V주석 설정Ctrl + k + c주석 해제Ctrl + k + uAnimator 전체보기 AAnimator 이동하기Alt 2024. 6. 19. [Unity Course 2] 05. 총 발사 로직 1 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. Projectile 방식 : 총알이 물리적으로 발사되는 방식, 총알이 직접 날아가 적에게 타격을 입힌다. 총알이 시각적으로 표현되어 좋지만 짧은 시간 동안 여러개의 총알을 생성하면 속도가 느려진다. **총알은 로우폴리 모델, 동적생성보단 오브젝트풀링으로 재사용 RayCasting 방식 : FPS게임에서 저격용 총의 발사 루틴을 구현하는데 자주 활용, 실제 총알이 발사되는 것이 아니라 레이저 빔과 같이 광선을 발사해 물체를 검출 ** 총알 발사 루틴뿐 아니라 미로를 탐색하는 로봇의 센서 기능이나 추적기능을 구현가능 총알 모델 준비 총알 씬뷰에 넣기빈 오브젝트 생성 후 이름은 Bullet, position (0,1,5)l.. 2024. 6. 19. 비주얼스튜디오 글꼴 바꾸기, 글꼴 추천 코드를 작성하다가 Force라는 단어의 가독성이 좋지 않아서 글꼴 변경 비주얼스튜디오에서 도구 - 옵션 - 환경 - 글꼴 및 색 코딩하기 최적화된 폰트는 Consolas라고 한다. 다양한 폰트가 많지만 어떤걸 선택해야되는지 모를 때여러 폰트들 중 굵은 글씨로 표현되어있는 글꼴을 선택하면된다.자주 사용하는 폰트를 굵게 표시한다고 한다. 2024. 6. 19. 유니티 비주얼스튜디오 자동완성 Preferences 에서 External Script Editor 가 Visual Studio 2019로 설정되어 있는지 확인하고 안되어 있다면 바꾸기 제대로 동작하는 것을 확인할 수 있다. 2024. 6. 19. [Unity Course 2] 04. 주인공 캐릭터 제작 : Level Of Detail 설정, Follow Camera 로직 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.Level Of Detail 설정주인공의 캐릭터는 카메라와의 거리에 따라서 다른 폴리곤을 렌더링 하기 위해 3개의 모델이 합쳐진 상태이다.LOD : 카메라로부터 멀리 떨어질수록 낮은 폴리곤을 변경하여 렌더링 부하를 줄여주는 기법 세가지의 메쉬의 디테일이 다른걸 확인할 수 있다. LOD Group 컴포넌트: 카메라와 피사체의 거리에 따라 렌더링할 메시를 결정하는 역할플레이어 오브젝트에 LOD Group 컴포넌트 추가 주인공과 캐릭터는 대부분 카메라와의 거리가 고정됐기 때문에 굳이 LOD를 적용할 필요는 없지만 멀티플레이어 상황에서 상대방이 멀리 떨어져 있는 내 캐릭터를 봤을때 유용하게 적용될 수 있다.모바일에서 최적화하기.. 2024. 6. 18. [Unity Course 2] 04. 주인공 캐릭터 제작 : 무기 장착, 그림자 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 무기 장착Resources/Models 폴더에서 Weapons를 임포트 Alt 키를 누른채 하이어라키 뷰에서 플레이어 오브젝트 앞 화살표를 누른다음 Rweaponholde를 찾는다아까 임포트한 무기 모델에서 w_rifle01 모델을 하이러키 뷰의 Rweaponholder 로 드래그 앤 드롭 실행시키면 총을 받치고 있는 왼손이 어긋나있음을 확인할 수 있다.라이플의 트랜스폼 컴포넌트를 초기화하면 정확히 맞는 모습을 확인 할 수 있다. 그림자실시간 그림자유니티는 실시간 그림자가 적용되어 있으며 Directional Light의 속성 중 Shadow Type 옵션으로 설정한다. No Shadows : 기본 설정값으로 실시간 .. 2024. 6. 18. [Unity Course 2] 04. 주인공 캐릭터 제작 : 애니메이션 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 애니메이션레거시 애니메이션 : 하위 호환성을 고려한 애니메이션 소스 코드로 컨트롤해야 함메카님 애니메이션 : 모션 캡처 애니메이션, 리타게팅 기능 주인공 캐릭터는 레거시 애니메이션 타입으로 구현하고 적 캐릭터는 메카님 애니메이션으로 구현 리소스의 Resources/Animations 폴더에서 PlayerAnimation 패키지를 임포트 한다. Animation Type 옵션설명None애니메이션을 사용하지 않는다Legacy하위 호환성을 유지하기 위한 이전 방식의 애니메이션Generic메카님 애니메이션, 인체형 모델이 아닌 3D 모델에 적용, 리타게팅할 수 없음Humanoid메카님 애니메이션, 리타게팅이 가능하며, 사람.. 2024. 6. 18. 이전 1 2 3 4 5 다음 반응형