관리 메뉴

STIKA-DEV

TIL[39] 본문

프로그래밍/Unity + C#

TIL[39]

STIKA 2024. 3. 8. 13:51

24.03.08 Fri

 

 

❤️ TIL [39]

Today I Learned


✏️ 작업 내용

✔️ Invoke Unity Event -> SendMessage변경

✔️ Animation

✔️ Code Convention - 팀 프로젝트


✔️ Invoke Unity Event -> SendMessage변경

Player를 Invoke Unity Event로 구현해놨는데 SendMessage로 변경해야함

Invoke Unity Event -> 생각보다 오류가 많다고 함

유니티 이벤트나 Send Message나 둘 다 리플렉션을 쓰긴 하는데 유니티 이벤트가 리플렉션을 더 많이 쓰나봄(리플렉션 : 프로그램이 실행 중에 자신의 구조를 조사하고 수정할 수 있는 기능)
Unity Event에서의 리플렉션 :  리플렉션을 사용해서 런타임에 어떤 객체의 어떤 메서드가 호출될지 결정, 코드를 변경하지 않고도 인스펙터에서 이벤트의 동작을 유연하게 변경 가능리플렉션을 과도하게 사용하면 게임의 성능에 부정적인 영향을 줄 수 있다고 함 (오버헤드)+ 2d가 대체로 3d보다 이벤트 발생이 많은데 (플랫포머나 아케이드 게임) 지속적으로 플레이어 입력 받고 반응하고 할 때는 유니티 이벤트 말고 Send Message나 다른 방식이 더 나은가 봄.

 

이게 인스펙터쪽에 접근을 해서 걸려있는 함수를 보고 그 함수로 가서 작동을해야해서 계산이 더걸리는거 아닐까

근데 샌드는 솔루션에서 onmove찾기만하면되자너

 

참고자료

https://www.youtube.com/watch?v=tKMnVBTes0M&t=26s


✔️ Animation

 


✔️ Code Convention - 팀 프로젝트

# Code Convention

단어구분 ⇒ 파스칼

접근제한자

접근제한자 반드시 붙이기 ⇒ private 생략 금지

필드

Public, Protected ⇒ 소문자

Private⇒ 언더바 시작

변수 (메서드 내부)

⇒ 소문자 (매개변수와 중첩시 _ 사용)

메서드

⇒ 첫 대문자 TestMethod()

프로퍼티

프로퍼티 ⇒ 첫 대문자         TestCode {get; set;}

코루틴

코루틴 ⇒ Co_      Co_TestCoroutine()

Delegate, Event

Delegate ⇒ On~   OnTest;

어트리뷰트 사용

[Header(”Test”)] ⇒ 파스칼

[SerializeField] private int _testInt;

📝 오늘의 마무리

Animation AnyState가 안들어가서 한참 뒤적거렸는데 Player에 AnimationController 스크립트를 안달아줌..

hasExitTime까지 껐는데 애니메이션이 한박자 늦게 돌아가는 현상발생

fixedDuration을 껐더니 해결

아님 한쪽발만움직임

포기잼


 

✏️ 스스로 어제보다 한 발 더 나아갔다는 것을 자각하기

✏️ TIL을 쓰기 위해서라도, 오늘 반드시 단 하나라도 배우기

✏️ 꾸준히 기록을 남기는 습관 가지기

'프로그래밍 > Unity + C#' 카테고리의 다른 글

TIL [41]✏️  (0) 2024.03.11
TIL[40]✏️  (0) 2024.03.09
TIL[38]  (0) 2024.03.07
TIL[37] < 새로운 팀 프로젝트 시작 >  (0) 2024.03.07
TIL[36]  (0) 2024.02.28