일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 애니메이션
- shader
- 유니티 그래픽 최적화
- 리깅
- 2판
- 파이널 IK
- NavMesh
- c#
- 유니티
- 사용법
- github
- 쉐이더
- 깃허브
- 튜토리얼
- 애님
- 리팩토링
- 메모리
- unity
- 유니티 그래픽스 최적화 스타트업
- 속성
- Final IK
- 익명 타입
- error
- 쓰는 법
- 최적화
- 에러
- 프로퍼티
- 오류
- Effective C#
- tutorial
- Today
- Total
목록파이널 IK (8)
참치김밥은 최고의 한식이다

1. 코드 작성 시, - interactionSystem.TriggerInteraction() - interactionSystem.StartInteraction() 등, 기본 제공 메소드를 통해 Interaction을 실행할 경우, 따로 position, rotation 등 Weight 값을 설정하는 코드를 작성하지 않아도 된다. 왜냐?? Interaction Object의 Weight Curves만 설정해주면 캐릭터에 알아서 잘 먹는다. 위 사진을 예시로 들면, 커브가 역U자이므로, 시간축이 0.5일때 - 나의 캐릭터의 Position Weight = Position Weight Curve의 최댓값 = 1 (가운데(x=0.5)좌표의 y값) - 나의 캐릭터의 Rotation Weight = Rotatio..

목적 : 상호작용시, Interaction Object의 애니메이션 실행시키기 이번 단계는 매우 간단해서 3줄 요약 할 수 있다 1. 이 포스팅 시리즈의 (4)까지처럼, 오브젝트에 손 복붙해서 넣고 Poser 넣어서 캐릭터의 상호작용 애님 넣어준다 2. 새 애니메이터 컨트롤러와 새 애니메이션 클립을 생성해서, 오브젝트의 애니메이션을 만들어주고 (버튼 눌림 올라옴 아니면 문 열림 닫힘 그런거) 컨트롤러에 할당해준다. 3. 오브젝트의 Interaction Object와 같은 계층에 Animator 컴포넌트 추가 후, 방금 만든 컨트롤러 할당해주고, 사진처럼 Interaction Object - Events - Animations 사이즈 추가 - Animator에 방금 추가한 Animator 할당, Anima..

목적 : 들고 있는 물건 Drop하기 STEP 1 : 상호작용할 오브젝트에 물리 추가하기 간단하게 (1) Rigidbody 추가 후, Use Gravity 와 Is Kinematic을 체크한다. (2) Collider 추가 하면 된다. STEP 2 : 떨어뜨리는 코드 추가 노란색으로 괄호친 부분을 추가하면 된다. 그냥 간단히 설명을 하자면,, 모두가 알다시피 D를 누르면 Drop() 코루틴을 호출한다. Drop() 에선 일단 본인의 isKinematic을 false로 바꾸고 (이제 떨어질 수 있다) 부모를 해제한다. 그리고, holdWeight를 계속 감소시킨다. 즉, 공을 떨어뜨린 후에 감소한 holdWeight에 따라 LateUpdate에서 서서히 원래 애니메이션의 포지션으로 돌아올 것이다. 출처 :..

목적 : 물건을 집고, 원하는 위치에서 홀딩하기 STEP 1 : Pick Up 으로 집고 난 뒤에, 그냥 Idle 위치로 갖고오는 게 아니라 특정 위치에 공을 들고 있고 싶으면, 코드를 위와 같이 수정하고 Play 해보면, 처음과는 완전 다른 위치에서 공을 들고 있게 된다. FullBodyBipedIK변수.solver.조종할 Effector.positionOffset 을 조절하면 된다. 이때, 위 코드처럼 weight를 서서히 변화시키는 방법을 사용해야 자연스러울 듯 하다 STEP 2 : 그런데 이렇게만 만들면, 코드로 추가한 offset은 단순한 월드 좌표 기준이기 때문에, 캐릭터를 회전시켰을 때 이렇게 팔이 꺾여버리는 문제가 생긴다 😲 따라서, 위 코드의 LateUpdate() 부분을 아래와 같이 수..