일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리깅
- 쓰는 법
- 에러
- 애님
- 파이널 IK
- 속성
- NavMesh
- error
- 쉐이더
- 오류
- 깃허브
- shader
- 프로퍼티
- 튜토리얼
- 유니티 그래픽 최적화
- tutorial
- 유니티
- 유니티 그래픽스 최적화 스타트업
- c#
- 사용법
- github
- 익명 타입
- 2판
- 리팩토링
- unity
- Effective C#
- 최적화
- Final IK
- 메모리
- 애니메이션
- Today
- Total
목록리깅 (5)
참치김밥은 최고의 한식이다
(공부하는 중이므로, 해당 포스팅은 부정확할 수 있음!!!) 네 가지 IK 모두 Inverse Kinematic Problem을 해결하는 알고리즘이라고 한다. 1. FABRIK FABRIK is an iterative algorithm that adjusts the joint angles of an articulated structure to reach a desired target position. It starts from the base and performs forward and backward passes, iteratively modifying joint angles to converge on the target. FABRIK is known for its computational effici..

목적 : 상호작용시, 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() 부분을 아래와 같이 수..