유니티 공부.. 골드메탈님 강의 b9 물체 만들기
unity 유니티 공부 2024. 11. 16. 19:53 |이번 강의 배울거 미리 소개 :
중력 적용하기
충돌 영역 정하기
리지드바디 설정
재질 만들기
물리재질 만들기
+
요 연두색 줄 그어진게 capsule collider 다
캡슐 모양 충돌체 다
콜라이더를 나타내는 라인이 단순할수록 렉이 덜 걸린다
최적화를 위해
사람 모양 메쉬인데도 콜라이더는 캡슐 콜라이더 쓰는 경우가 많다
+
메쉬보다 콜라이더를 더 작게 한 경우 | 메쉬보다 콜라이더를 더 크게 한 경우 |
공격 범위를 콜라이더로 설정하고,
공격이 닿는 범위를 보기보다 더 넓게 설정하는 경우도 있음
+
콤포넌트 중에서
Rigidbody
Rigidbody 2D 가 있는데
아무것도 안달린 위에 것이 3D 용임
Rigidbody 역할
중력 : 아래로 떨어지는 힘
충돌 감지 : 다른 콜리전 물체와의 충돌
마찰 : 다른 표면과 마찰을 받을 때 움직임 감
+
Rigidbody O | Rigidbody X | |
Collider O | 중력도 있고 다른 물체와도 충돌함 플레이어, npc |
그 자리에 있지만 다른 물체가 오면 충돌을 함 npc, 사물 오브젝트 |
Collider X | 중력 때문에 아래로 떨어짐 통과됨 유령, 비, 빛, 마법 |
가만히 있음 통과됨 구름, 비밀문, 유령, 마법 |
+
오크통, 나무 이런 오브젝트는
리지드 바디ㄴ 콜라이더ㅇ
이런 식으로 만든다
+
플레이를 켜 둔 상태에서 물체 움직임을 즉각 시뮬레이션 할 수 있다
+
Rigidbody 세부설정
Mass
무게
높을수록 잘 안 굴러감
Drag
저항
높을수록 이동 잘 안함
Angular Drag
회전 저항
높을수록 회전 안함
Use Gravity
Y축으로 아래로 받는 힘, 중력 받기 여부
Is Kinematic
외부 물리 효과 무시
스크립트를 쓸 때만 이동을 시키겠다
interpolate
리지드 바디 인터폴레이트
보간법. 프레임간 중간 값을 추가해 부드러워 보이는 기법
none 으로 설정하는게 성능이 좋음
none, interpolate , extrapolate 차이점
none : 끊기는 것처럼 보일 수 있음
interpolate : 중간 값을 계산해서 부드러워 보임
extrapolate : 다음 프레임 값을 계산해서 부드러워 보임
Collision Detection
콜리전 감지 성능
Discrete : 보통
Continuous : 정밀
Continuous Dynamic : 초정밀
콘티뉴오스는 빠른 화살 이펙트 같은 데 쓰임
콘티뉴오스 다이나믹은 연속으로 부딪치는 차 충돌에 쓰임
근데 정밀할수록 최적화에 악영향을 주기 때문에 남발 금지
Constraints
특정 x y z 포지션 이동값을 고정시킬 수 있음
특정 x y z 회전값을 고정시킬 수 있음
예시 :
x z 로테이션을 고정시키면 못nail 처럼 세로로 쑉 박힘
+
특정 장면에서만
콜리전감지수준 Collision Detection , Continuous Dynamic 으로 설정하고
특정 장면에서만
프레임보간 interpolate 넣어야 함
그래야 최적화가 되는 거임
+
create - rendering - material
마테리얼 생성 가능
+
surface type - Transparent
Alpha Clipping 끔
Base Map 에서 A 부분 조절
이러면 투명 마테리얼 생성됨
Blending Mode 에서 원하는 블랜딩 적용방식을 고르면 됨
+
텍스쳐 적용법
공짜 텍스쳐는 인터넷검색하면 free pbr 나옴
아니면 그림 ai 로 뽑을 수 있음
상하좌우 반복 텍스쳐. 이름은 albedo 또는 color
material 속 컴포넌트 칸 surface inputs , base map 네모칸에 드래그 해서 적용함
+
tiling , offset 으로 텍스쳐 반복회수 및 위치 조절가능
+
텍스쳐에서의 emission 은 빛의 발광 임
+
physics material
탄성과 마찰을 다루는 것
create - physics material
로 생성함
collider 속 material 에 넣어서 적
physics material
탄성과 마찰을 다루는 것
create - physics material
friction
마찰
dynamic friction
이미 움직이고 있을 때의 마찰값
보통 0~1 의 값
0이면 얼음처럼 미끄러짐
1이면 힘이나 중력에 의해 빨리 정지
static friction
다른 오브젝트 표면위에 놓여져 있을 때 사용되는 마찰
보통 0~1 의 값
0이면 얼음처럼 미끄러짐
1이면 덜 움직이게 됨
fricion combine
minimun 적게 움직임
maximum 많이 움직임
bounciness
통통 튀는 정도
0이면 안 튐
1이면 에너지 손실없이 바운스
bounciness maximum 으로 하면 끝없이 계속 튕김
+
피직스 마테리알
더 높은 곳에서 떨어뜨리거나,
다른 물체와 충돌이 생기면
더욱 더 역동적으로 튕겨 나가게 됨
+
가벼운 공 | 무거운 공 | |
Rigidbody mass | 0.1 g | 1000 g |
Rigidbody drag | 0 | 1 |
Collider Physic Material fricion | 0 | 1 |
Collider Physic Material friction combine | minimum | maximum |
Collider Physic Material bounciness | 1 | 0 |
+