일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 재귀
- 동적계획법
- AIPerception
- 나나이트
- Stimuli
- Unity
- DP
- UnReal
- Widget
- blueprint
- uproperty
- c++
- 다이나믹프로그래밍
- 코테
- UMG
- UE5
- EffectiveC++
- HTTP
- 코테연습
- UE4
- 언리얼
- 코딩테스트
- 문자열
- 프로그래머스
- 언리얼4
- 유니티
- ue4macro
- 알고리즘
- dfs
- server
- Today
- Total
목록Unity (5)
공부 기록
가끔 layer를 건드리다보면 씬뷰에서는 보이는데 게임뷰에서는 보이지 않을 때가 있다. 이는 오브젝트를 새로 생성한 레이어에 담게 됐을 경우 카메라의 컬링 마스크에는 이 레이어가 포함되어있지 않아 발생하는 현상이다. 이럴 땐 게임뷰가 되는 카메라의 inspector 창을 열어 Culling Mask에 해당 레이어를 체크해주면 된다. 이를 활용하면 실제로 동작은 하고 있지만 유저의 시야에서 보이지 않게 하고 싶은 오브젝트를 숨길 수 있다.
오늘 해 볼 것은 Kinematic 물체의 속도를 측정하는 방법이다. 유니티에서는 Rigidbody 컴포넌트를 적용하면 자체적으로 속도를 측정해주지만 isKinematic 설정을 활성화한 물체는 물리연산이 적용되지 않아 속도를 직접 구해야 한다. 속도공식 (V=S/T) 을 이용하여 코드로 속도를 측정해보았다. private Vector3 oldPosition; private Vector3 currentPosition; private double velocity; void Start() { oldPosition = transform.position; } void Update() { currentPosition = transform.position; var dis = (currentPosition - old..
유니티에서 제공하는 joint는 여러가지가 있는데, 그 중 오늘 사용할 것은 configurable joint 이다. 이 조인트를 한마디로 설명하자면... 유니티의 모든 joint를 합친 기능이라고 할 수 있다. (아마도) #1 조인트 컴포넌트 추가 우선 add conponent에서 joint를 검색하여 사용할 joint를 추가해준다. 이때, [흔들릴 물체]와 [물체를 고정할 곳] 중 흔들릴 물체에 조인트를 추가해야 한다. 줄에 매달린 듯한 흔들림을 구현하고 싶다면 그림에 선택된 configurable joint 를 추가한다. 나는 cube가 흔들리게 할 예정이므로 큐브에 조인트 컴포넌트를 추가했고 옵션의 connected body에는 큐브를 매달 틀을 넣어줬다. 앞에 언급해서 알겠지만 흔들릴 물체에 조..
#1 Animation - add event 애니메이션 설정창에서 add event(왼쪽 동그라미 친 부분)를 누르면 애니메이션 도중 실행할 함수를 지정할 수 있다. 참고로 함수가 실행될 타이밍은 애니메이션 만들었던 것처럼 지정할 수 있다 (오른쪽 동그라미 참고) #2 Animation event - 함수 실행 방법 위에서 추가했던 이벤트 바를 눌러보면 이런 창이 뜬다. 여기서 function은 말그대로 실행할 함수 이름을 적으면 된다 (클래스/스크립트이름 X) 그 아래 int, float 등등은 함수에 파라미터로 넘겨줄 값 혹은 오브젝트를 지정해주는 칸이다. 참고할 사항은 해당 애니메이션의 애니메이터가 붙어있는 게임오브젝트에 추가되어있는 스크립트에 속한 함수만 실행할 수 있다는 점이다. (ex. A오브..
오늘은 오브젝트가 서로 충돌할 때 특정 이벤트를 수행하는 것을 구현해볼 예정이다. #1 충돌을 감지할 오브젝트 설정 충돌 함수를 처리하기 위해서는 충돌하는 두 물체 중 한가지는 리지드바디로 설정되어있어야 한다. 설정 방법은 유니티 환경에서 오브젝트를 클릭하여 inspector 창을 열고 add component에서 rigid를 검색하면 나온다. 이때 3D 오브젝트는 Rigidbody로, 2D 오브젝트는 Rigidbody 2D 로 설정해야한다. 두 오브젝트 중 움직이는 것에 리지드바디를 설정하는것이 좋다고 한다. 주의할 점은 바닥을 놓지 않고 실행하면 큐브가 수직낙하한다. 이때 공중에 가만히 멈춰두고싶다면 is kinematic을 체크하여 중력과 충돌에 반응하지 않도록 한다. 충돌에 반응하면서 해당 위치를..