학원

17일차-2024-08-22

하타라시 2024. 8. 22. 19:24

Vector3.Cross입니다. 

왼쪽이면 음수, 오른쪽이면 양수가 나오므로,

내적 즉 Dot도 활용화면 앞,뒤,좌,우를 체크 하는 것입니다.

Unity Vector3.Cross 외적 : 네이버 블로그 (naver.com)

원점 즉 하얀 큐브를 기준으로 왼쪽으로가면 밑으로 그려지고, 위로가면 위로 그려집니다.

Mathf.Sign를 활용하면 양수는 1 , 음수는 -1이 되므로, 

Vector3.Cross의 결과를 Mathf.Sign안에 넣으면 완벽합니다.

Mathf.Sign - 부호 반환 함수 (tistory.com)


Blend Tree입니다.

 

 

 

내부로 들어가면 1D , 2D Simple Directional같이 여러개가 존재하는데,

파라미터가 한 개 이기때문에 1D로도 충분합니다.

내부에서 사용될 파라미터입니다.

이제 SpeedZ가 2일 경우 걷는 모션일 것이고, 4일경우 달리는 모션이 되는 것입니다.

https://my-develop-note.tistory.com/14

 

Edit > Project Settings > Input Manager에 들어가고 Axes의 값을 수정하면 Horizontal 이나 Fire같이 세팅가능합니다.

기본적으로 정의가 되어있으며, Alt Negative Button이나 Alt Positive Button은 대체키입니다.

즉 Negative Button, Positive Button이 오리지날 키입니다. 

Dead는 예를들어, 현재 0.001의 값 이하가 되면 0으로 처리한다는 의미입니다.

Gravity와 Sensitivity는 입력할 때에 감도를 조절하는 것입니다.



Capsule Collider입니다. Edit Collider를 누르면 편집모드로 진입됩니다. 

Is Trigger를 체크하면 물리에 영향을 받지 않습니다.

 

Rigidbody입니다. 

Is Kinematic을 체크하면 Is Trigger와 비슷한 효과가 적용됩니다.

Use Gravity를 체크하면 중력이 적용됩니다.

Mass는 캐릭터의 질량 * 1이라는 것입니다.

캐릭마다 질량이 다르므로 같은 1 혹은 2로 설정할 때에 적용이 다르게 될 것입니다.

 

해당 상황을 무시하는 것은 

ForceMode에 Acceleration나 VelocityChange를쓰면 질량을 무시할 것이고,

Force나 Impulse를 쓰면 질량을 활용할 것입니다.

[Unity] 물체의 이동 AddForce, velocity, MovePosition (velog.io)

 

OnCollisionXXX입니다.

Enter는 충돌 시이고

Stay는 충돌 중일때,

Exit는 충돌이 끝날때입니다.

 

OnTriggerXXX입니다.동일하게 Enter는 충돌 시 ,Stay는 충돌 중,Exit는 충돌이 끝났을 때 입니다.

 

만약 2D인경우는 뒤에 2D가 붙습니다.

 

 

 

delegate는 파라미터를 받을 수 있습니다.

 

즉 이런 형태도 가능합니다.

 

위에 코드 상황에서는 action에 +=로 넣고 -=를 메소드를 해제합니다.

 

즉 TestEvent에서는 Test1과 Test2의 정보를 직접적으로 지니지 않지만 메소드는 정상적으로 잘 작동합니다.

 

 

총 파라미터가 16개까지 들어갑니다.

 

델리게이트와 비슷하게 작동합니다. 

코드와의 차이점은 파라미터를 추가한 것입니다.

파라미터를 통해 계산기도 Action으로 가능할 것입니다.

 

실행 결과입니다. 뒤에 value값이 나옵니다.

 

델리게이트 , Func와 Action의 차이점은 

 

우선 델리게이트는 대리자를 필요로 합니다. 

추가로 반환값을 사용할 수 있습니다.

 

Action은 대리자를 필요로 하지않고, 반환값을 사용할 수 없습니다.

리턴값이 void이기 때문입니다.

 

Func는 파라미터가 한 개이면 반환 타입입니다.

그래서 Func 단일로 쓰려고하면 1개 이상 필요하다고 뜹니다.

test(5);지만 입력 값 5 , 반환값 이렇게 된 것입니다.

https://gapal.tistory.com/44

https://tech-interview.tistory.com/202

 

 

결합도와 응집도에 관한 내용입니다.

객체지향에서는 응집도를 높이고 결합도가 낮은 것이 좋다고 이야기합니다.

응집도는 하나의 모듈이 하나의 기능을 수행하는 것입니다.

결합도는 모듈과 모듈간에 결합되는 것입니다.

 

그런 의미에서 델리게이트 , action, Func는 중요하지 않을까 싶습니다.

https://rutgo-letsgo.tistory.com/entry/%EC%9D%91%EC%A7%91%EB%8F%84Cohesion-vs-%EA%B2%B0%ED%95%A9%EB%8F%84Coupling

 

 

감사합니다.