전체 글 (46)
2번째 - 그래픽 렌더링
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.
LRESULT , MessageBox함수
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.
MSG구조체
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.
WNDCLASSEX 구조체 정리
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.
다이렉트 X11 입문
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.
풀바디 IK

우선 리깅은 이런식으로 리깅해줌

 

그리고 루트를 움직일 컨트롤러를 만들어주는데

 

Create -> curve tool->CV Curve Tool 에서 Linear로 바꿔준 다음

x를 누른채로 찍어주면 그리드 단위로 찍어주게 됨

 

그래서 4방향 화살표를 만들어준 뒤에

 

그리고 조금 버텍스를 휘게 만들어서 Root에 옮겨줌 ( 사이드에서도 만지기 쉽게끔 )

요론느낌

이렇게하면 좀 더 편하게 볼수있음

 

 

 

이런식으로 여러개의 Ct를 만들어 주는데

Curve Tool을 사용할때 또 팁이

Cube를 만들어준 뒤에 Curve Tool CV Curve Tool에서

 

v를 누른채로 Cube의 각 버텍스들을 누를수 있는데

이걸로 사각형 Curve 를 쉽게 만들수 있음

 

대충 다 만들어준 뒤에

각 컨트롤러의 pivot은 똑같이 명명되있는 조인트에 위치시켜준다.

 

 

그 다음 모든 Ct를 Freeze Transformation 해준다음에

 

Ct_Root 를 제외한 각 Ct를 각각 명명된 조인트와 Orient 시켜줌

 

골반Ct->루트 Ct Parent 처리해주고

팔목->팔꿈치->어깨 로 Ct들을 Parent

목->가슴->등 순으로 Ct를 parent

팔들의 CT를 가슴에 parent해준다음

등 Ct를 Ct_Root에 parent 시켜줌

 

이때 ! 머리는 절대 parent 시켜주면 안됨 중요!

 

왜냐하면 조인트를 Ct_Head에 Point해줄거기 때문에! (Ct_Head->HeadJoint : Orient , HeadJoint -> Ct_Head : Point)

이렇게되면 머리가 항상 정면을 바라보게된다

 

 

요론 식으로

 

 

HipJoint-> Ankle Create IK 명명 : IKHandle_L(or)R_Ankle

Ankle-> Ball Create Ik 명명 : IKHandle_L(or)R_Ball

Ball->toe Create IK 명명  IKHandle_L(or)R_Toe

 

Ankle과 Ball 을 그룹화해주고 피봇을 Ball에 둔다음 Grp_L(or)R_Ball_Rotate

Toe를 혼자 그룹화해주고 피봇을 Ball(Toe가아니라 Ball이 맞음 ㅇㅇ)에 둔 다음 Grp_L(or)R_Toe_Rotate

 

그 둘을 그룹화해준다음 피봇을 힐에 두고 Grp_L(or)R_Heel_Rotate

 

Grp_L(or)R_Heel_Rotate 을 혼자 그룹화 해준 뒤에 피봇을 Toe에 두고 Grp_L(or)R_Toe_End_Rotate

 

라고 명명해주면

 

깔끔한 풀바디 IK를 만들 수 있다.

 

Locator를 이용하면 무릎을 조정할 수 있는데,

 

 

'3D아트 > 마야' 카테고리의 다른 글

마야로 드래곤 만들기  (0) 2020.04.17
마야 1일차 (2) - 마야로 팔만들기!  (0) 2020.03.30
마야 1일차 그룹화와 부모!  (0) 2020.03.30
  Comments,     Trackbacks
유니티 쉐이더 - 툰 쉐이더

오늘 할 툰 쉐이더는 아웃라이너를 frensel로 표현한 방법이다.

cull back cull front를 이용한 쉐이더 방식이 아니다.

 

 

우선 툰 쉐이더를 만들기 전에 half Lamber공식을 이용한 기본적인 쉐이더를 만들어 준다.(자세한건 간단하니 검색)

 

그러고 나서 끊어지는 음영을 처리해줘야 하는데,

 

Half람버트의 빛의 강도 공식

float ndot = dot(s.Normal, lightDir)*0.5f+0.5f;

여기서 ndot의 값을 변경해주어 표현하면 된다.

 

그 표현 방법이 if문이나 ceil을 이용하는 방법인데

 

if문을 이용하는 방법은 아래와같고 굉장히 무겁다.

if(ndot>0.7f)

{

    ndot=1;

}

else if(ndot>0.4f)

{

    ndot=0.7;

}

위의 공식대로 하면

ceil을 이용하는 방법은

 

ceil은 소수점아래를 올리는 것이다.

※0.01~1.0 = 1

1.01~2.0 = 2

 

 그러므로 이때 그림자를 5분할 하고 싶다면

ndot*=5;(0~5)값을 나타냄

ndot=ceil(ndot)/5;(나누어 줘서 0~1사이 값으로 나타내기)

하지만 이렇게하면 좀 더 세부적으로 표현할 수 없다.

 

 

 

이제 외곽선을 표현해볼것인데.

림을 이용하여 표현해 볼거다.

림은 표현방식이 빛의강도와 다르게

viewDir과 Normal을 내적한 값이다.

이때 이를 abs(절대값)을 취해서

 

if(rim>0.3)

rim=1;

else

rim=-1;// 노멀과 viewDir의 사이각이 크면 외곽선 처리를 해줌 (보통 가장자리거나 눈 아래같은 곳이겠지!)

 

그럼 이런식으로 된다.

 

 

끝!

 

 

덧붙여서, Diffuse Wrapping 방식은 지정된 텍스처를 음영으로 이용해서 음영을 표현하는 방식인데

내가 지금 자료가 없는 관계로 나중에 찾아서 해보거나 자료를 찾아보길 바란다!

  Comments,     Trackbacks
2020-05-07 황리코 그림

야호!

'아트 > 끄적끄적' 카테고리의 다른 글

2020-04-07 그림 모작 러프 끄적끄저  (0) 2020.04.07
2020-04-02 모작!  (0) 2020.04.02
2020-03-21 그림 모작  (0) 2020.03.21
2020-01-28 그림 공부  (0) 2020.01.29
  Comments,     Trackbacks