반응형

원문 : http://www.hourences.com/book/tutorialsue3water.htm

정보

내용 : 언리얼엔진에 대형 야외 물 표현에 대한 메트리얼 생성 방법에 대한 튜토리얼입니다
대상 : 언리얼엔진 사용자 - 중간에서 고급까지
관련링크 : 메트리얼 튜토리얼 1
마지막 업데이트 : 2007년 10월
메트리얼 튜토리얼 2
메트리얼 튜토리얼
물 자습서 2 - 실내
매트리얼 표현

소개
물의 메트리얼은 대부부분 복합적인 매트리얼을 사용합니다. 복합 매트리얼을 만들려면 자신이 분명히 원하는것을 정리 해야 합니다. 무엇이 원하는 결과를 내는데 필요한 기능인지. 이 경우, 물 매트리얼을 만드는데,매트리얼은 unlit 입니다.랜러딜이 훨씬 빨리되고 물이 절대적 라이트를 더이상 사용하지 않습니다
*** 켜져있지 않다는데 제가 이해하기로는 투명을 말하는듯 합니다***
그것은 당신이 필요로 하는것은 기본적으로 노말 매핑이 표면에 사용되지 않는것을  .이 feature 는 당신이 전형적인 픽셀쉐이더와 비슷하게 보이기를 원합니다.또한 unlit 랜더링의 의미는 phong 쉐이딩 그리고 반사되지 않는 렌더링을 말합니다. 이두가지가 필요합니다.
Diffuse/Emissive를 가짜로 사용하여 그효과를 remake 합니다
***이거 해석하는데 골이 아파 죽겠네요. 영어는 확실히 어렵네요..ㅜ.ㅜ***

그래서 메트리얼은 다음과 같은것이 필요합니다:
1. 랜덤하게 움직임
2. 여러 suface(표면) 이 왜곡되어야 합니다
3. 하늘을 반영해야 합니다
3. 어떤 스펙큘러(specularity)  를 필요합니다
4. 멀리 보이는 부분에서는 페이드아웃 되어야 합니다

실시간으로 반영이 가능하지만 하드웨어를 상당히 요구 합니다. 따라서 보통때에는 쓸모가 없습니다.이 튜토얼에서는 static reflections 를 초점을 맞춥니다.

Apart from lacking real time reflection, it must be noted that my water is quite over the top and that it is possible to build this material using fewer expressions, or to leave certain features out. However, for the sake of the tutorial, I went all the way.
물위쪽의 실시간반영은 매우 어렵기 때문에 특정기능을 쓰지 않습니다. 그러나 튜터리얼에서는 모든것을 다 씁니다
***아 이건정말 뭐라고 해석하기가 너무 어려워서 대충 넘어갑니다..ㅜ.ㅜ 죄송...****


물매트리얼을 만들기 위해서는 기본 비트맵이 필요합니다. 아래의 파일을 다운로드 받아 에디터에서 import 합니다

"waternormal"과 "wave" 가 둘다 사용하여 왜곡을 표현합니다,"dot" 는 가짜 specularity 에 사용합니다. 그리고 "Skyreflection" 은 기본 reflection에 사용합니다.예전과 같이 택스쳐를 움직여 실제 물처럼 표현하지 않습니다. 이제모든일을 실시간으로 표현합니다. 표면에 텍스쳐가 필요로 한것은 습지,더러운물, 하수구등이 필요합니다
또한, 압축파일에 있는 reflec.tga 의 경우 물튜토리얼2-indoor water 에서 사용할것입니다. 이 튜토리얼에서는 사용하지 않습니다. 이것 외에 simpleplanemesh.ase 도 포함되어 있습니다. 이것은 텍스쳐 스케링링을 자동으로 함으로서 bsp 상세정보, bsp 시트 조명과 문제를 일으킬수 있으므로 사용합니다

또한. waternormal.tga를 압축하지 않는 것은 좋은 아이디어 입니다. 텍스쳐는 광범위하게 사용될기 때문에 압축을 하면 눈에띄게 다르게 나올수 있습니다. 이것은 성능에 영향을 끼치기 때문에 최상의 결과를 원하는 경우에 사용합니다
***텍스쳐를 원본 그대로 사용하게 되면 넓은 면적을 사용하게 될때 상당히 좋은 결과가 나오지만 성능에 영향이 있기 때문에 최상의 모냥을 보고 싶다면 압축하지 말라고 하는거네요...***import 할때 defercompression 를 체크하시거나 가져온 이후에 더블클릭하여 속성창에서 해당 부분을 체크함으로서 압축을 할수 있습니다

매트리얼의 전체적인 구조는 다음과 같습니다

사용자 삽입 이미지

***이거 보고 토하는줄 알았다는****

이것은 상당히 간단한 표현그룹을 함께 연결합니다. 각그룹에서 보고하여 개별적으로 훨씬 덜 어렵게 생각될수 있을겁니다. 각 그룹에서는

A) "waternormal" 텍스쳐 위에 기본적인 두세개의 블랜딩이 왜곡됩니다
B) 텍스쳐 위에 블랜딩과 왜곡을 해 줍니다
C) B와 유사한 블랜딩. 텍스쳐에 왜곡현상을 더욱더 많이하여 최고의 결과를 냅니다.C 포커스 중심으로 왜곡이 더 크게 합니다
E) "dots" 텍스쳐를 사용하여 specularity 를 만듭니다
F) 표면아래의 왜곡을 만듭니다
G) 마지막 그룹으로 실제 하늘 텍스쳐를 가지고 있으며. 중앙에 있어 다른 모든 그룹이 함께 결합합니다

** 아하하하하...잠시 토하고 오겠습니다...진짜로....****


그룹 A
사용자 삽입 이미지
보이는 것과 같이 해당 A그룹은 값과 표현을 만듭니다.waternormal.tga 를 두번 각 시간이 다르게 팬속도와 크기를 설정하여 합치게 하여 무작위의 결과를 나오게 합니다
***
사용자 삽입 이미지
***
참고 특별한 한가지, Componentmask 를 사용하여 파란색 채널을 빼야 합니다..이것은 UV coordinates 때문에 좌표로 사용된다 할수 있습니다. 엔진은 rgb 입력을 받아들이게 되는데 RGB 값은 3개의 값입니다 R,G그리고 B, UV 에서는 두개의 좌표를 쓰기때문에 하나의 좌표를 뺍니다.(U and V  == R and G 이경우에만요)

*** UV 사용할때 두개의 좌표를 사용하기 때문에 블루채널을 빼고 사용이 된다는 말인듯 합니다.
뭐랄까...UV에 대해서 누가 설명좀...;ㅁ;  ***


Also of note is the Texture Coordinate at the end of the group, without this expression the sky texture would render entirely wrong.
또한 텍스쳐 표현 그룹의 끝에 스카이 택스쳐를 틀리게 랜더하지 않습니다.

그룹B


B그룹은 기본적으로 Waves.tga 를 블랜드하여 각각 다른 크기와 속도를 가지고 있도록 합니다. 마지막 두 BumpOffset 에서 Coordinate 표현에 대한 A그룹의 좌표를 추가합니다.

색상채널을 사용하는 방법은 단하나의 waternormal.tga 를 사용해야 합니다.
동일한 TextureSample 에서 파란색 채널을 사용합니다. RGB output 을 사용하기 위하여 당신은 모든채널을 사용하면 안됩니다. 이부분은 그룹 A에서 설명한것과 비슷합니다

***UV채널과 마찬가지로 BumpOffset 에서도 하나의 좌표를 사용하기 때문에 블루채널만을 사용한다는 이야기인듯? ***

그룹C

그룹 B 의 최종 도출값은 C그룹의  BumpOffset 의 Coordinate의 값으로 입력됩니다. 기본적으로 B 그룹과 비슷한 부분이 많이 있습니다.Waves.tga 와 waternormal.tga 를 섞어 큰 물결을 표현해 줍니다.

*** 여기는 두리뭉실하게 쓴 부분이 많습니다. 그룹 B와 유사하게 제작되며 그룹 C는 큰 물결부분을 표시 해주는것을 주 목적으로 하여 그룹 B와 합쳐져서 전체적인 물결을 만들게 됩니다 ***

그룹 D

그룹 A,B,C 가 물결을 표현 하며 그 아래의 빈공간 부분이 이동하는 것을 표현하기 위한 그룹 D 입니다
그룹 D 에서는 태양의 반사되는 물부분을 표현하게 됩니다. 그룹에 있는 두개의 Constant3Vectors 가 태양의 위치에 대한 좌표를 설정할수 있게 됩니다. 이 각도는 카메라 각도와 통합되어 Dot product ,카메라 각도에 따른 태양의 실제 직선 광선 부분을 하게 됩니다.

*** 그러니까 스팟 라이트를 설정하는거라고 생각하시면 될듯 합니다 태양=스팟라이트 ***

업데이트 : 마지막 빌드에서 Coordinate Transform 표현식은 Vector Transform 으로 변경되었습니다.
*** 이건좀 확인해 봐야 할듯 합니다...죄송...***

그룹 E

그룹 E는 물의 하이라이트부분에 매우 작은 하이라이트를 만들기 위해 작성되었습니다. 기본적으로 두개의 택스쳐 dots.tga 의 사이즈 를 랜덤하게 교차하여 점의 랜덤한 점 택스쳐를 도출합니다. 도출된 랜덤한 점들에 하늘 택스쳐를 입히고 밝기를 설정해 줍니다.
*** dots 두개를 사이즈와 팬속도를 랜덤하게 섞어서 결과값에 하늘 택스쳐를 입힌다는 말이네요 (좀 쉽게 쓰라고!!!)***

그룹 F


그룹 F는 간단한 하나입니다. 원한다면 당신은 그룹 A와 B 혹은 C에서 비슷한 설정이 중복되어 있는 것을 볼수 있습니다.해당 부분을 복사하여도 좋고 (Ctrl W)새로 만드는것도 즐거운 일입니다. 그룹 F 는 간단히 값을 조정하여  좀더 많은 왜곡을 표현해 줄수 있습니다.You can already connect the final Multiply directly to the Distortion input on the Material.(당신은 이미 매트리얼에 대한 값을 입력할수 있습니다.)

*** 괄호친 부분은 정말 뭐라고 말해야 할지 애매하네요;; ***

그룹  G
당신은 거의 다 왔습니다 G 그룹에서는 모든것을 함께 결합하게 됩니다. Opacity 를 조정하여 물의 불투명도를 조정합니다. C 그룹의 결과값이 UV 좌표로 BumpOffset 되어 Constant3Vector 과 결합되어 물을 조금 부드럽게 되며 파란색 줄을 추가됩니다.
Power 의 값에서 변경되며 발기와 강도가 증가하는 상수가 곱하여 결과값을 나오게 됩니다.
This result in turn is added on an Add expression, which has a Mulitply expression as its second input. This Multiply expression combines the Add expression that holds the sky before its contrast was altered, with the the final Multiply expression of the sun (Group D). Once that's done, the Add expression is connected to another Add expression, which blends the highlight dots of Group E on top. This whole thing is then used on Emissive at the end of the material. You're done with that part!The only thing left to do is to take care of the opacity and the fading, this only takes two expressions. A DepthBiasedAlpha to automatically fade out, with its scale set to 500, and a constant at 0.4. The constant determines the actual amount of opacity, a higher value means more opaque and would be more desirable for deeper water.
*** 이부분은 그닥 설명할 필요가 없을 듯 합니다. 각 그룹의 결과값을 섞은후 더해주고 해서 값을 나온다는 부분입니다 ***

마지막으로 당신은 메트리얼의 속성에서 BLEND_Translucent 와  MLM_Unlit를 설정해야 합니다. 이부분은 매트리얼 튜토일얼 1에서 설명한것과 같이 TwoSided 가 될수 있도록 할수 있습니다.

자 끝났습니다. 이 예제에서 설명한 물은 상당히 큰 표면에 적용될때 사용하는것이 좋습니다 작은 영역에서 이것을 사용하시려면 왜곡의 규모를 조정하고 Dot 샘플을 수정해야 합니다 또한 DepthBiasedAlpha 의 규모도 작아 대형으로 될수 있어 가장자이에 페이드 하는 표면이 필요할수 있습니다

일반적으로 전체에 Heightfog Actor를 추가하는것이 좋습니다.

결과

*** 히유 겨우 끝냈습니다 몇번을 토하고 왔는지...여기까지는 상당히 어려운 부분이 많이 있습니다. 표현식이라던지 내용부분에 대한 정리가 없어 정말 많이 헤매게 되더군요. 다음은 내부 물에 대한 예제이지만 내부 물 예제 전에 표현식에 대한 정리 되어 있는 부분을 해석하고 넘어가도록 하겠습니다.***
반응형
반응형

원문 : http://www.hourences.com/book/tutorialsue3mated2.htm
튜토리얼 - UE3 MATERIAL EDITOR - PART 1
요약
소개 : 두번째 메트리얼 에디터에 집중하여 UE3 메트리얼 에디터에 대한 고급 예제를 설명할것입니다. 설명을 이론적으로가 아니라 실제 사용합니다
대상 : 언리얼엔진 사용자 - 초보자와 중급
대상 : 언리얼엔진 사용자 - 매우 기초 스킬이 필요
플랫폼 : 언리얼엔진 3
관련 링크 : 메트리얼에디터1
 메트리얼 에디터3
 물 튜토리얼 1 - 외부
 물 튜토리얼 2 - 내부
 매트리얼 Expressions
소개
이 튜토리얼에서는 첫번째 메트리얼을 가지고 약간더 복잡한예제를 함께 할것입니다. 복잡할수록 당신은 복잡한 기술과 이론적인 속성에 대한 이해가 빨리 될수 있습니다.
예제
핫스팟 사이즈
Specularity hotspot 을 변화시키는 것은 매우 쉽게 됩니다

사용자 삽입 이미지

그림에 표시된데로 연결하기만 하면 Comstant 노드를 SpecularityPower에 연결하고 그값을 변경합니다. 0응 매우 넓은 핫스팟을 보여주며, 255는 매우 미세하고 날카로운 핫스팟이 표현됩니다.리얼리티한 매트리얼을 만들기 위해서는 강도와 크기는 중요합니다.금속은 매우 강한것이 아니라 작은 집중 강조가 필요하며 목재에서는 매우 큰것이 아니라 매우 부드러운 특징을 가지고 있습니다. Specularity를 조정하면 매우 현실적인 매트리얼을 만들수 있습니다

Making Something Wave
알고 계시겠지만 UE3에서는 진동효과가 있습니다***택스쳐 흔들림을 말합니다*** 만약 당신이 뭔가에 웨이브를 주고 싶다면, 예를 들어 잔디 매트리얼같은. 당신은 최대 시간과 사인을 연결하는 표현을 하면됩니다. 앞서 설명한 대로, 시간은 사인과 결합하면 됩니다. 이건은 기본적 방향으로 지속적으로 플립애니메이션이 됩니다
사용자 삽입 이미지
***에 흔들리는 효과인데 위아래로 움직이게 된다면. 사인함수에 시간 값을 적용하여 해당 값을 가지고 위아래로 움직이는 효과를 표현하는 것입니다***

Simulating Motion
또 다른 번진방볍은로 시뮬레이션 모션은 displace 의 일부가 스크롤 그라데이션이나 다른 패턴을 사용하는 메트리얼입니다.그라데이션을 몇초마다 스크롤 하며 표면모양을 흔들며 이동하고 내려갑니다. 이기술은 나무잎이나 잔디를 만들수 있고 파도나 공기 물등의 것들을 위해 유용한 합니다.
예를 들어 플래그 및 기타유형의 섬유를 나타내고자 할때 이기술은 매우 훌륭합니다
사용자 삽입 이미지
이 예제에서 BumpOffset bump suface으 정보를 사용하여 최고의 heightmap을 할수 있습니다. 이경우에는 heightmap은 간단한 그라데이션이 지속적으로 함께 스크롤됩니다. 좀더 다양한 구름 패턴이나 swirlt 그라데이션이 있습니다. 더나은 결과를 제공합니다. 두개의 다른 그라디언트를 적용한것을 고려할수있습니다 . 현재는 임의의 결과 입니다
bumpoffset 노드는 heightratio 속성을 제어하여 최대 높이를 늘리거나 줄일수 있습니다. 그것은 상당한 효과를 볼수 있습니다

Fading two textures
Sine 사용 - 시간을 사용하여 지속가능한 텍스쳐 하나에 페이드 효과를 적용하여 시뮬레이션과 같은 색상과 강도를 변경할수 있습니다
사용자 삽입 이미지
사인을 대체해서- 시간을 하나의 vectorparameter 하면  일부 트리거를 통하여 kismet 스크립트로 조작할수 있습니다

Increasing a texture's bloom strength
(텍스쳐의 bloom강도 높이기)
A텍스쳐에 bloom 을 주었는데 충분하지 않을경우, 메트리얼 에디터에서 당신은 강도를 수정할수 있습니다. Multiply 항목을 추가하고 Constant 항목을 추가합니다. Constant 항목의 보통 최대값은 1.0000000 이상으로 할수 있습니다. 아무것도 나타내지 않기 위해서는 1.0000000을 하지 않습니다. 아무것도 나타내지 않기 위해서는 Constant에서 1.000000값은 흰색이지만 bloom 에 영향을 미칠것입니다. bloom 증가는 텍스쳐에 라이트와 같은 효과를 주는 램프와 같습니다
사용자 삽입 이미지

Automatic Fade Out(자동 페이드아웃)

ue3 에서는 모서리 근처에 자동으로 표면을 자동으로 사라질수 있는 아주 멋진 그래픽기능을 제공합니다. 파티클에 모두 사용할수 있습니다.(잘 알려진 문제를 방지합니다. 지오메트리에서 디스플레이 될때 컷되는)또는 물이나 안개와 같은 것들에 대한 더 많은 고급suface를 할수 있습니다. 부드럽고 좋은 표면의 물은 표면에 엣지 부분에서 다 많은 모션을 많이 합니다. 대신 모서리에 있는 알파 레이어등을 수동으로 제어했던것을 이제 엔진에서 처리할수 있습니다
사용자 삽입 이미지

이 메트리얼은 사라질때 다른 오브젝트 입니다. 페이드아웃의 강도는 DepthBiasedAlpha의 세부 설정에 있습니다. 저의 예제에서는 BiasScale 는 128입니다.
이 매트리얼은 translucent로 설정해야 합니다. 왼쪽에 있는 메트리얼을 선택하시고 아래 등록정보를 보시면 랜더링 모드가 있습니다. 나의 첫번째 메트리얼을 참조하여 튜토리얼을 보시면 투명한 매트리얼을 어떻게 설정하는지 나와있습니다
***
사용자 삽입 이미지
***

Flickering Texture
(깜빡이는 택스쳐)
당신은 택스쳐를 만들수 있습니다, 또는 일부 마스크나 파츠를 빼낼수 있습니다. 깜빡이거나 펄스형식이 될수 있습니다. 이것은 큰 가짜 번개 이팩트, 별 비슷하게 만들기, 램프 혹은 기타 유사한 표면등을 만들수 있습니다.이것은  Sine 와 Time으로 노느를 연결하여 만들수 있습니다
Time 노드의 시간으로 Sine 노드의 속도를 결정합니다. 속성을 설정하여 깜빡을 조정할수 있어야 합니다.1.0은 기본입니다, 낮은 깜빡임 속도를 보여 주고 숫자를 올리면 느리게 됩니다
내 예제를 포시면 Add node에 Constant 1.125 노드와 함께 시간 효과가 함께 링크되어 있습니다. 이 결과는 다음을 보정(혼합된 알파를 사용한 택스쳐)실제 텍스쳐보다 상단에 있습니다. 이 경우 결과는 매우 추악합니다 그러나 같은 셋업 으로 작은 라이트를 이용한 디퓨즈 텍스쳐를 입히고 라이트를 올리면 매우 좋아진다.
사용자 삽입 이미지

Static reflection/Cubemap
가짜 싸구려 반사효과에 정적 큐브맵은 사용된다.Generic 브라우져로 이동하여 상위 메뉴의 File->New 를 클릭한후 이름과 패키지를 적는다 . Factory 의 드롭다운 리스트에서 CubeMap을 선택합니다. 더블클릭하여 해당 속성창을 여신후 Generic 브라우져에서 6개의 이미지를 선택하여 채우시면 됩니다
사용자 삽입 이미지
그후 속성창을 닫으신후, 새로운 매트리얼을 생성하고 매트리얼 에디터를 열어 수정합니다. TextureSample 로 방금 만든 큐브맵을 Generic 브라우저에서 선택하여 TextureSample 에 Cubemap을 적용합니다
마지막으로 cubemap 이 카메라 움직임에 응답하기 위해 CameraVector 를 표현하고 그림과 같이 연결합니다
스크린샷을 보십시오
사용자 삽입 이미지
또한 이것으로 CameraVector대신  ReflectionVector 를 사용할수 있습니다. 두 유형의 차이는 매우 작습니다.
ReflectionVector 는 사용하는 축이 다릅니다


*** 예제로 쓰이는 데이터를 올립니다.. 그라데이션데이터가 없어서 아주그냥 고생했....다운 받으신후 Generic 브라우저에서 오픈하시면 됩니다. 메트리얼 데이터는 삭제하고 텍스쳐들만 올립니다***
반응형
반응형

원문 : http://www.hourences.com/book/tutorialsue3mated.htm
튜토리얼 - UE3 MATERIAL EDITOR - PART 1
요약
내용 : 메트리얼을 사용하는데 빠르고 간단한 메트리얼 에디터를 다루는 방법을 설명합니다. 더불어 standard/widely 쉐이더 사용방법을 배웁니다
대상 : 언리얼엔진 사용자 - 매우 기초 스킬이 필요
플랫폼 : 언리얼엔진 3
관련 링크 : 메트리얼에디터2
 메트리얼 에디터3
 물 튜토리얼 1 - 외부
 물 튜토리얼 2 - 내부
 매트리얼 Expressions
***링크 부분은 원문 그대로 해놓은 이후에 추후 번역이 완료된 이후 번역본으로 링크하겠습니다***
소개
이것은 매트리얼 에디터의 기본을 소개합니다.이번에는 basic materials 의 기본과 설정하는 방법입니다.
튜토리얼에서는 베이직 환경 메트리얼이  알파 operation, 스케일링, 노말 맵핑,Bloom 강도, 색상 등이 조합되고 변경되는것을 보여줍니다

새로운 버전의 메트리얼 에디터는 언리얼엔진2의 메트리얼과는 다릅니다.서로 다른 매트리얼을 크고 비교적 쉽게 사용할수 있게 달라진 매트리얼 윈도우입니다. 이 에디터는 표현기반,Maya의 hypershade, 의미를 표현하는 장소 또는 변형정보를 전달합니다. expressions의 순서를 다르게 배치하면 최종결과는 달라질 것입니다

한가지 중요한것은 어떤 texture을 이해해야 합니다 게임은 메트리얼을 사용합니다 texture를 직접사용하지 않습니다. textures 는  메트리얼에 먼저 assigned 합니다. 3D 프로그램에서 approach 하는 것과 유사합니다 예로 3D Max 가 있습니다

누구든지 메트리얼에디터의 math's play를 이해한다면 고급매트리얼을 만들수 있다. math의 천재가 될필요는 없습니다. 하지만 매트리얼에디터를 이해하기 위해서는 기본적인 이해는 있어야 합니다.
****쏼라쏼라 이거 해석하는데 거의 3일이 걸리네요...ㅜ.ㅜ(중요한 내용도 아니자나!!!)*****

기본
기본에서는 사용자 정의 텍스쳐나 이미지를 가져오는것을 해봅시다.언리얼 엔진2나 다른 게임엔진처럼 텍스쳐를 import 하기 위해서는 valid resolution 이어야 합니다
valid 는 1,2,4,8,16,32,64,128,256,512,1024,2048,4096 입니다 텍스쳐는 직사각형일수 있습니다. import 하는데 사용되는 파일형식의 표준은 tga이지만, bmp 및 유사 파일 형식도 지원합니다
에디터를 여신후 generic 브라우저렬 엽니다(View-Browser Windows). generic 브라우저의 상단 메뉴에서 File->import->select the texture 를 클릭하시면 새로운 창이 열립니다
import 한다음에 보시면 텍스쳐는 Generic 브라우져에서 빨간색으로 표시됩니다. 빨간색으로 표시 되지 않은 경우 반드시 "Show All Resource Type" 을 클릭하면 됩니다. 또는 왼쪽의 창에서 택스쳐를 체크 하시면 됩니다 (또한 Generic 브라우져에서 보입니다)

빨간색 테두리는 raw texture, 녹색은 material 을 의미 합니다.무엇을 하기 위해서는 빨간 텍스쳐로 그린 material을 설정하여 해야 합니다
***메트리얼을 만들때 빨간색 택스쳐로 만든다는 이야기겠죠..***
Generic 브라우저에서 New를 클릭하고 다음메뉴에서 패키지 이름을 입력,그룹(그룹은 언제나 공란으로 되어 있습니다)그리고 메트리얼에 줄 이름입니다.패키지의 이름및 메트리얼의 이름은 고유하게 적는것이 선호 됩니다

사용자 삽입 이미지
다음으로 , Factory 에서 드롭다운 메뉴에서 Material을 선택합니다

OK를 하시면 Generic 브라우져에서 나타납니다. 더블클릭하여 메트리얼에디터를 엽니다
왼쪽 공간 (b1)은 큐브/sphere/실린더로 적용되었을때 프리뷰창입니다. 가운데의 (b2)는 실제 작업영역을 만드는 것입니다 서로 다른 표현을 연결하고 오른쪽 (b3)는 표현을 사용할수 있는 목록입니다.밑에 있는 (b4)는 표현에 대한 속성을 처리할수 있습니다
사용자 삽입 이미지

표현에 사용할수 있는 많은 목록이 공포스러운가요? 걱정하지 마십시오. 설정을 선택이 필요합니다.대부분이러한 표현은 많이 사용되지 않습니다.

메트리얼 에디터가 열려 있는 동안 Generic 브라우져에서 우리가 가져온 텍스쳐를 선택하고 메트리얼에디터로 돌아갑니다 . 그다음 오른쪽에 표현 목록에서 "texturesample"을 가운데 로 끌어 옵니다. 그것은 당신이 Generic 브라우져에서 선택한 택스쳐가 자동으로 할당됩니다

다음으로 작은 검은 박스(black=RGB 채널,레드/그린/블루=RGB각 채널,흰색=알파채널)를 클릭하여 왼쪽의 메트리얼에 연결합니다.
사용자 삽입 이미지
이제 지오메트리에 적용시킬 아주 기본적인 메트리얼의 한조각이 생성되었습니다
 패키지를 수동으로 저장하는것을 잊지 마십시오!!. Generic 브라우저의 상단에서 menu->Save 하시면됩니다
***패키지에 임포트 하고 작업을 다 했다가 그냥 끄시면 패키지는 저장이 안됩니다..-_-;;***

예제
이제 모든이가 사용할수 있고 강력한 매트리얼 편집기를 사용하도록 합니다. 가장 기본적인 메트리얼의 일부입니다

simple colors
단순한 솔리드 색상은 상수를 적용하여 작성할수 있습니다
(Constant/Constant1Vector/Constant2Vector/Constant3Vector/Constant4Vector) 색상은 내용을 입력하여 해당 속성의 값을 가질수 있습니다

사용자 삽입 이미지
네종류의 Constants 가 있습니다. 첫번째 Constants 는 red 채널 전용입니다. 두번째 유형 (Constants2vector)은 적색,녹색체널을 사용합니다.세번째 Constants는 모든채널을 사용할수 있고, 네번째 Constants는 알파 채널에 사용할수 있습니다
***에 그러니까 값을 가지는 상수들을 추가 하는것입니다 변수에 들어가는 세팅값이라고 생각해야할듯?***

Specularity and Normal Mapping
노말맵과 스팩큘러를 하기 위해서는 위에서 했던 내용을 반복하여 하시면 됩니다
사용자 삽입 이미지

Parallax Mapping

parallax 매핑은 Displacement Mapping과 유사합니다. 이것은 3D 로 만든 표면의 질감부분의 상쇄입니다.
***이부분은 정말 뭐라고 설명을 해야할지 갑갑하네요;; 찾아보니 『기존 노멀맵을 이용해 단지 명함 만을 바꾸던 범프 매핑을 뛰어 넘어 표면의 높이값+노멀맵을 이용해 텍스쳐의 uv 오프셋을 픽셀 단위로 바꿔서 보다 리얼하게 울퉁불퉁한 표면 처럼 보이는 매핑 기법』 이라는데 3D전공하시는분 좀 도와주세요ㅜ.ㅜ***

범프맵핑은 눈속임으로 하는것이고 Parallax Mapping 진짜 모델링을 한것처럼 계산을 하는 차이라고 상상님이 댓글로 적어주셨습니다
사용자 삽입 이미지

Alpha maps and translucent materials
유리표면을 어떻게 만드는가? 아래의 그림과 같이 당신의 텍스쳐를 가져옵니다
사용자 삽입 이미지
또한 알파 랜더링 매트리얼은 Blend_translucent 와 mlm_unit를 강제로 설정해야 합니다

Masked materials
마스크 매트리얼은 투명한 매트리얼이 될수 없습니다.
Masking should be preferred over Translucent for anything that doesn't necessarily require complex alphas. Plants and trees for example don't and should use Masked instead of Translucency.
Setting up Masking is roughly similar to setting up Translucency, but instead this time use the OpacityMask input and set BlendMode to BLEND_Masked.
**와 전혀 이해를 못하겠습니다...일단 마스크 매트리얼을 사용하기 위해서는 BlendMode 에서 BLEND_Masked를 강제로 지정을 해줘야 한다는것 이외에는요;;***
사용자 삽입 이미지

Unlit materials
유니트의 텍스쳐(셀프 일루전 - 예를 들어 자기 자신을 비추는 램프)를 만드는것은 정말 쉽습니다.
First of all you must connect a expression to the Emissive input on the End expression. Once that's done you can, optionally (increases performance), also set the End expression's LightingModel (in the properties at the bottom) to MLM_Unlit.
***이부분은 좀후에 해보면서 해석을 해야 할듯 합니다....***

Scaling a texture
메트리얼 에디터 에서 택스쳐를 연결하고 TextureCoordinate를 추가하여 텍스쳐의 UV에 연결합니다. TextureCoordinate를 선택한후 속성에서 숫자를 변경할수 있습니다
사용자 삽입 이미지

Creating a panning or rotating material
상하 또는 회전하는 매트리얼을 만들기 위해서는 panner 또는 rotator을 추가 합니다. 또는 둘다 추가 합니다. 예제 화면과 같이 연결합니다
사용자 삽입 이미지
해당 panner나 rorator를 선택하신후 속성에서 속도를 제어 합니다

왜곡
왜곡하는 매트리얼(물,유리,화재의 뒤에 보이는) 만들기는 쉽습니다. 메트리얼 에디터에서 아래의 그림과 같이 연결합니다.panner 나 rotator을 연결하면 왜곡이 애니메이션 될수 있습니다
사용자 삽입 이미지

콘트라스트 조정

변경에는 여러가지 방법이 있지만 텍스쳐의 대비가 가장 쉽습니다. 전원을 사용합니다, 전원노드를 추가 하고 간단한 Constant 노드를 다음의 그림과 같이 연결합니다.Constant 의 숫자를 제어합니다.1.000은 정규대비입니다. 숫자가 낮으면 아무것도 나타나지 않고, 높이면 콘르라스트가 높게 됩니다

사용자 삽입 이미지

Adjusting the color of a texture
(택스쳐의 색상 조정)
특정나무 질감이 있는데 그것이 붉은 색이라면 파란색으로 사용하고 싶은가?. 그밖의 색상을 수정하기 위해 엔진 밖에서 수정하는것은 나쁜아이디어는 아니지만 결과물에서 메모리나 파일크기를 낭비하게 됩니다.
사용자 삽입 이미지
이제 텍스쳐의 색상을 변경할수 있습니다.옵션으로 컬러를 추가하거나 뺄수 있습니다 또한 알파 블랜딩도 가능합니다


***와 정말 오랜만에 포스팅인데요....점점 영어의 압박과 3D관련용어가 많이 나오니 힘들어 집니다..후후***
반응형

+ Recent posts