반응형

원문 : 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를 추가하는것이 좋습니다.

결과

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

1. 물관련 매트리얼 만들기
 - 예제대로 했는데 안되서 뭐가 문제인지 파악중인..;;

2. 이펙트
- 이건 뭐 거의 프리미어 수준...OTL

3. 미드넷? 밑넷?(영어 히어링이 개판입니다;;;)
 - 트리거로 ani 나 광원등을 한번에 처리한다거나 동영상? 비스무레한걸 하는 건데 생각외로 내용이 많습니다;;

4. ani
- ani익스포트와 임포트 쪽 체크중...

5. 물리
- ani랑 연결된건데 이건 설명이 좀 많이 없어서 하나씩 하다보니 진행이 느리네요



p.s 1   - 현재 언토3의 동영상 강좌를 보면서 열씸히 공부중입니다..ㅜ.ㅜ
p.s 2  - 회사 일이 갑자기 바빠지는 바람에 공부할 시간이 모자라네요...(술먹을 시간은 있는거냐!!!)
p.s 3  - 기다리시는 분이 있을지 없을지 모르지만...최대한 빨리 신규 포스팅을 하겠습니다..(__)

반응형
반응형

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

정보
소개 : 세번째 메트리얼 튜토리얼에서는 UE3 메트리얼에디터에서 몇가지 랜덤 사례를 보여줍니다. 자세한 설명을 이론이 아니라 실제 사용합니다
대상 : 언리얼 엔진 유저
플랫폼 : 언리얼 엔진 3
마지막 업데이트 : 2007년 9월
관련 링크 : 메트리얼에디터1
 메트리얼 에디터2
 물 튜토리얼 1 - 외부
 물 튜토리얼 2 - 내부
 Material Expressions

소개
하나의 속성을 가지고 연습하면 복합적이고 기술,이론적인 설명으로 인하여 하나의 속성을 연습을 통해 빨리 배울수 있으며 어떻게 그들을 만드는지에 대해 예제를 제공합니다.
*** 그냥 연습하는게 빨리 배울수 있다는 이야기 같습니다. 중요한 내용은 아니니 패스..-_-;;***

예제
메트리얼 Instances
빠르고 쉽게 기존의 메트리얼과 유사하고 비슷한 메트리얼을 셋업 하지 않고 만들때 메트리얼 인스턴트가 사용할 수 있습니다.
*** 이런식의 표현은 정말 우울하네요 뭐이리 꼬아 놓았는지*****


재질 인스터스를 사용하게 되면 재질을 구성하기 위한 전체적인 셋업 과정없이 쉽고 빠르게 변화를 줄 수 있습니다.
부모-자식 간의 관계설정을 통해 원래의 재질 정보를 그대로 계승했기 때문입니다.
이러한 방법의 가장 큰 잇점은 부모가 되는 재질 정보를 수정하거나 바꿨을때 번거로운 추가 작업없이 그대로 자식이 되는 재질들도 따라서 바뀌기 때문입니다.
*** 부가인생님이 수정해 주셨습니다***
설정은 매우 간단합니다. regular 메트리얼을 만드는 설정은 아래의 예제와 같습니다

사용자 삽입 이미지

텍스쳐 샘플에서 오리지날 텍스쳐에 블루 색을 증가 시킵니다. 특별한것은 Constant3Vector 를 사용하지 않았다는것에 있지만, Vector Parameter 를 사용했습니다. 모든 Parameter의 수치를 조정하여 인스턴스 메트리얼을 변화 시킬수 있습니다. Regular expressions 는 사용될수 없습니다
Vector Parameter 의 Parameter Name를 ("tutorialexamplename")으로 하고 색상을 파란색으로 설정합니다.메트리얼 에디터를 닫으신후 MaterialInstanceConstant 를 생성합니다.(생성한 매트리얼을 오른쪽 클릭-> New MaterialInstanceConstant).

더블클릭하여 세부 내용을 보시면 아래의 그림과 같이 보여질것입니다
사용자 삽입 이미지

Vector Parametervalues 를 변경하여 새로운 매트리얼을 생성할수 있습니다.
ScalarParameter 와 TextureParameter 도 비슷하게 작동 합니다.
***설명하자면 약간씩 다른 색의 매트리얼(원본은 같은)을 만들고자 할때 텍스쳐를 따로 만드는것이 아니라.벡터 파라미터 값을 변경하여 새로운 매트리얼을 쉽게 만드는것입니다***

거리에 따라 변하는 매트리얼
PixelDepth 를 사용하여 카메라가 가까이 오면 fade out 되는 메트리얼을 만들수 있습니다.이것은 detailtexturing 나 macrotexturing 보다 well 합니다.***좋다는이야기인지 안좋다는건지...well이 좋다는 의미던가요?*** 이 메트리얼의 속성에서 Translucent 로 설정해 주셔야 합니다
사용자 삽입 이미지

거리에 따라 변하는 매트리얼을 통해 보이는 가짜 포그
DestDepth 를 사용해 매트리얼을 통해 보이는 가짜 포크를 만들수 있습니다.거리에 따른 색상은 Constant3Vector 에 의해 결정됩니다. Constant 와 DestDepth 로 거리를 조정할수 있습니다.이것은 물표면에서 큰효과를 보일수 지만,플레이어가 안에 들어갈수 없습니다.
이 메트리얼 또한   Translucent 으로 랜더링 해야 합니다
사용자 삽입 이미지

Deriving Specularity of a Diffuse Texture
***디퓨즈 텍스쳐로 스펙큘러를 얻어내기 인데 맞는지 모르겠네요***
speculatity 를 추가적으로 작업하지 않고 디퓨즈를 사용하는 것이 가능합니다. 종종 아티스트가 가져올 별도의 specularity 텍스쳐는 파일 및 메모리 크기를 늘리는데 이것은 정말 필요하지 않습니다.특히 tilting 텍스쳐의 경우입니다

이것은 블랙과 화이트의 specularity 텍스쳐를 모두 사용합니다. 나의 생각으로는 세미 desaturated 텍스쳐를 중간에 사용합니다.
이 예제에서도 그것을 보여주고 있습니다
사용자 삽입 이미지

이 디퓨즈 텍스쳐는 contrast 의 영향을 받으며, 이것은 contrast와 Desaturation 의 영향을 받아 대조를 더합니다. 만약 satisfactionary 결과를 좀더 구체적으로 하려면 power 수준을 변경하여 표현할수 있습니다
*** 이부분은 정말 뭐라고 말하기가 여려운 부분이네요 밑에 있는 Constant가 흰색이고 Desaturation 부분이 검은색부분을 담당하여 준다고 하면 좀 쉬우려나요?ㅎ_ㅎ;;***

Parallax Map 에서의 메모리 절약 - Technique by Aevirex
대개의 Parallax map은 하나의 embedded 로 노말맵 안에 알파맵이 들어가 있거나 separate 텍스쳐를 import  합니다. 두 방법은 더 많은 콘텐츠를 로드 합니다. parallax map을 포함하는 RGB체널이 들어간 노말맵을 사용하여 GPU power에 추가되는 expense 제거. separate를 필요치 않는 3의 택스쳐를 이용한 매트리얼이 필요합니다, 또는 메모리 문제가 강화된 알파채널이 들어간 노말맵을 사용합니다
***이부분은 정말 뭐라고 해석을 해야 막막하네요 parallax map 이라는건 정말 생소하군요***
Parallax Map 이 포함된 블로 채널 노말맵 을 포토샵에서 배치합니다. 당신은 블루채널을 BumpOffset 으로 에디터에 가져옵니다. 당신은 노말맵없이 블루채널을 했지만, 편집기에서 노말맵을 다시 얻으려면 편집기에서 재구성해야 할것입니다.또는 마지막으로 오는것을 close 합니다. 빨간색과 초록색을 수정하여 채널과 함께 블랜딩하여 원래의 블루채널을 재현합니다. 빨간색과 녹색의 조합으로 블루채널을만드는것에 대한 정보가 있습니다
사용자 삽입 이미지
무모하게 일부 메모리 및 디스크 공간을 절약하기 위해, 그리고 당신의 레벨이 다운로드 하는데 300MB라면, 이 기술은 디퓨즈에서 specularity 를 유도 합니다.매트리얼 튜토리얼 두번쩨에서 설명한것 처럼. 레벨에서의 파일사이즈를 매우 작게 할수 있습니다. 4개의 풀 텍스쳐가 필요한것인데. 이것은 단지 2개를 씁니다. 절반의 파일사이즈입니다.
***파일사이즈를 작게 한다는 내용인듯 한데 용어가 어렵네요...***

CellShading- Technique by Aevirex
CellShading 은 아주 복잡한 설정을 합니다. 이 매트리얼은 기본적으로 만들어진 두개의 큰그룹으로 나뉩니다.이 아이디어는 환경조명 정보(포지션) 그리고 모서리 에 일치하는 정보입니다.이와같은 매트리얼은 오직 lit viewport에 표시 됩니다
*** 셀세이딩이라고 들어는 봤는데 구체적으로 어떤것인지 좀더 찾아봐야 겠습니다***
사용자 삽입 이미지
사용자 삽입 이미지
최상의 결과를 위해서는 lightingmodel을 mlm_nondirection 으로 해야 합니다.

***후....여기까지 어느정도 매트리얼 에디터에 대한것이 완성된것 같습니다..일도 하고 이것도 하려니 아무래도 시간이 좀 많이 걸리는듯 합니다. 영어 울렁증은 안고쳐 지는군요. 오시는 분들 뭔가 궁금하시거나 왜 이건지에 대한 말씀들은 너무 없으신거 같슴다....(해석을 열라 잘했....퍽퍽)***
반응형
반응형

원문 : http://www.gasduck.com/gasduck/BasicCover/BasicCover.htm

기초 커버 - 이 튜터리얼에서는 Actor가 오브젝트 뒤에 숨을수 있게 하는 cover을 배치하는 방법을 보여줍니다
- 먼저 bsp벽면을 만듭니다.또는 정적매시 를 심플한 레벨(맵) 에 배치합니다

사용자 삽입 이미지

- 이제 genic 브라우저로 이동 하신후 Actor Class탭에서 navigationpoint> coverlink> coverlink_dynamic를 선택합니다. 이것은 맵에서 오브젝트 뒤에 숨을수 있는 위치를 만들어 줍니다
사용자 삽입 이미지
- Cover 개체는 아래에서보는것과 같이 벽 뒤에 오도록 배치합니다
사용자 삽입 이미지
- 이것은 결과입니다 (당신은 정상적은 cover동작과 Dodge 동작을 할수 있습니다)
사용자 삽입 이미지

***어라? 이상하지요? 분명히 벽의 양옆에 cover 오브젝트를 배치 했는데 게임에서처럼 벽에 기대고 주욱 이동하는 모습을 보실수 없을것입니다.
Cover 아이콘을 더블클릭하여 속성창을 여신후 CoverLink 항목 아래의 Add New Item 을 클릭해 줍시다
사용자 삽입 이미지
화면에는 두개의 Slot 가 생성이 됩니다
사용자 삽입 이미지
생성된 두개중에 아무나를 선택(커버 아이콘이 아니라 Slot를 직접 선택하셔야 합니다)하신후 이동할 부분까지 이동하신후
사용자 삽입 이미지
Build>Build All 을 하신후 실행을 하시면
사용자 삽입 이미지
이렇게 옆으로 이동하는 마커스의 모습을 보실수 있습니다~*****
반응형
반응형
원문 : http://www.gasduck.com/gasduck/KismetLookAtPoint/KismetLookAtPoint.htm

 kismet - Lookat - 이번튜토리얼에서는플레이어가 특정지점으로 갔을때 카메라를 어느지점을 보여줄수 있게 하는 지점을 만듭니다. 이 예제에서는 트리거를 사용하였지만 다른 여러가지 방법들이 있습니다

- Generic 브라우저의 Actor Class로 이동하여 Keypoint>TargetPoint 를 선택합니다. 그리고 심플맵에 배치 합니다. 배치한 장소가 카메라가 보게될 위치 입니다.actor의 관심을 배치하는 장소입니다(그 밖의 작동을)
**음 그러니까 Look At 이라는 것이 위치한곳이 카메라가 쳐다보게될 위치라는 이야기 입니다**
사용자 삽입 이미지
- 이제는 몇단게를 건너 뛰겠습니다 .트리거를 선택하고 kismet으로 이동합니다.오늘쪽 버튼을 누르시고 New Using Trigger_Dynamic_1>Touch 를 선택합니다. 이렇게 하면 트리거란 개체가 생성될것입니다.이제 target을 선택하고 kismet으로 옵니다. 마우스 오른쪽 버튼을 클릭하고 New Object Var Using TargetPoint_0를 선택합니다. kismet에 새로운 변수가 생성되었습니다.마지막으로 마커스 개체및 링크를 만들어 트리거를 실행할수 있습니다. 오른쪽버튼을 클릭한후>New Variable>Player>Marcus를 선택합니다. 마커스 개체에 트리거를 연결합니다
사용자 삽입 이미지
- 이제 LookAt 오브젝트를 kismet 에 만들것입니다. 오른쪽 클릭>New Action>Camera>Look At.
사용자 삽입 이미지
- 이것은 LookAt오브젝트를 만들었습니다. 이제 모든 모든 작업에 일부 속성들을 설정합니다(참고로 이예제에서는 트리거를 터치하게되면 point를 지속적으로 보게됩니다).터치 이벤트를 LookAt오브젝트와 연결합니다.이것은 오브젝트를 활성화 시킬것입니다. 타겟은 마커스가 될것이고 포커스는 우리가 원하는 지점입니다(플레이어가 위치한곳에서 LookAt을 보게 할것인지 생각하십시오)
사용자 삽입 이미지
*** 이번은 그래도 쉽네요...지난번 트리거때 삽질한게 도움이 되기는 합니다..^^**
반응형
반응형

원문 : http://www.gasduck.com/gasduck/ToggleLight/ToggleLight.htm

Toggle Light - 이 튜토리얼은 간단한 라이트 스위치 작성하는 방법을 보여줍니다(이것은 게임 플레이 하는데 있어서 매우 늦게 나타납니다. 그러므로 나는 이것을 게임플레이 동영상을 만들때 사용하고 게임플레이에서는 효율적으로 쓰지 않습니다)

- 우선 간단한 level 에 하나의 pointlighttoggleable(Actor->light->PointLight), 플레이어 스타트,트리거를 추가합니다

사용자 삽입 이미지

** 여기서 잘못해서 완전 삽질을 했지요..ㅋ 다들 바닥에서 오른쪽 버튼을 클릭하신후 만드셨겠지만 절대 아닙니다..-_-
Generic 브라우저의 Actor Class 로 가신후 Light>PointLight>PointLightToggleable를 선택하신후
사용자 삽입 이미지
뷰포트로 돌아와 바닥을 클릭하신후 오른쪽 클릭을 하시면 Add PointLightToggleable Here를 선택해 줍니다
트리거 또한 Actor Class 의 Trigger_Dynamic 를 클릭하시고 바닥에서 오른쪽 클릭하여 Add Trigger_Dynamic로 추가해 줍니다
******
- kismet을 엽니다. 뷰포트에서 라이트를 선택하시고 kismet 화면에서 오른쪽 버튼을 클릭하여 New Object Using PointLightToggleavle_0 을 클릭해서 추가해 줍니다.
Trigger는 뷰포트에서 선택하신후 kismet에서 오른쪽 버튼을 클릭하여 New Event using Trgger_Dynamac_0>touch를 클릭하여 추가합니다.
이제 토글 개체를 만들것입니다. 오른쪽 버튼을 클릭하여 New Action->Toggle->Toggle 를 클릭해 줍니다.
마지막으로 마커스 오브젝트(플레이어)를 추가해 줍니다. 오른쪽클릭 New Variable>player>Marcus. 모두다 추가해 주었다면 아래의 그림과 같이 각 개체를 연결해 줍니다

이것은 간단하게 트리거를 사용하여 라이트를 켜고 끕니다. 마커스는 instigator 가 되어 트리거를 건드려 이벤트를 실행시킬수 있도록 할것입니다. 마커스가 트리거위를 달려갈때 트리거가 터치 되면서 이벤트가 활성화 될것입니다
사용자 삽입 이미지
** 자 똑같이 했는데 한번 켜지거나 혹은 꺼지면 다시 켜질생각을 안합니다..-_- 이것은 트리거의 카운트가 있어서 안되는건데요  kismet에서 트리거를 선택하신후 아래 항목중에서 MaxTriggerCount 를 0으로 해주시면 트리거를 지날때 마다 라이트가 켜지고 꺼질것입니다
반응형
반응형
원문 : http://www.gasduck.com/gasduck/BasicStaticMesh/BasicStaticMesh.htm
Basic Static Mesh - 이 튜토리얼에서는 texture가 입혀진 new Static mesh 를 가져오고 적용하는 방법을 설명합니다. Static Mesh 는 3Dx Max 에서 기본적으로 제공하는 .ase 형식으로 가져올수 있습니다
*** MAX에서 익스포트시 주의하실점
MAX에서 UV 좌표를 하신후 익스포트 옵션에서
사용자 삽입 이미지

위 그림과 같이 칠해져 있는 부분을 꼭 체크해주시고 익스포트 해주셔야 합니다 ***
- generic 브라우져에서 File->Import를 선택합니다
 
사용자 삽입 이미지
- 맥스에서 익스포트하신  .ase 파일을 선택하면 아래와 같은 창이 열릴것입니다. 패키지를 지정하시고 그룹에는 Static mesh를 선택한후 확인을 선택합니다
사용자 삽입 이미지
- mesh를 가져오신후 generic 브라우저에서 찾으신후 더블클릭하면 Static mesh 편집기를 엽니다
사용자 삽입 이미지
- 가져온 mesh 에 새로운 material을 할당 할것입니다. 오른쪽에 있는 LOD info 항목을 펼쳐 material을 선택하고 Generic 브라우저에서 material을 선택하신후 파란색 화살표를 클릭합니다. material의 경우 녹색으로 표시 될것입니다
사용자 삽입 이미지

*** 어떻게 보면 쉽지만 상당히 중요한 부분입니다. 브러쉬로 만든 공간의 경우 취소.즉 Undo가 되지 않기 때문에 큰부분은 브러쉬로 만들어주고 나머지는 Static mesh 로 만들어 주어야 나중에 편집하기 좋더군요.
지속적으로 삽질을 했습지요...ㅎ_ㅎ;;***
반응형
반응형
원문 : http://www.gasduck.com/gasduck/BasicTerrain/BasicTerrain.htm
기본적인 지형 - 이 튜토리얼은 하나의 레이어에 지형을 만드는 방법을 보여줍니다
- 먼저 generic  브라우저를 열고 file->New 를 선택합니다
사용자 삽입 이미지
패키지의 이름과 그룹의 이름을 지정해주시고 Factory 부분의 드롭다운 목록에서 TerrainLayerSetup선택하여 새로운 TerrainLayerSetup 을 만들것입니다
사용자 삽입 이미지
이와같은 방식으로 만들면 아래와 같이 됩니다
사용자 삽입 이미지
**전 아무리해도 지형 메트리얼은 작성되지 않아서 새롭게 만들어 줬습니다.지형레이어를 만드는것과 같이 드롭다운 목록에서 terrain메트리얼을 선택하고 이름을 주어 만들었지요***

- 새로운 terrain material 을 더블클릭합니다. 해당 terrainMaterial의 속성창이 나오게 됩니다.우리가 만든 지형 메트리얼에 적용해 주기 위해서 선택할수 있는 메트리얼(예:잔디,바위)을  선택하신후 녹색화살표를 클릭합니다
사용자 삽입 이미지

- terrain layer setup 을 더블클릭합니다. 이제 우리가 만들어 놓은 terrain material을 선택합니다.그런다음 지형 레이어 속성창의 맨마지막 줄에서 녹색화살표를 선택해 줍니다
사용자 삽입 이미지
**만약 위의 그림과 같이 나오지 않는다면 속성에서 meterial 부분에서 오른쪽에 보시면 + 버튼이 있을것 입니다
그걸 눌러서 매트리얼항목을 추가해 주셔야 합니다 **
- 자 이제 terrain layer setup이 완성되었습니다.속성창들을 모두 닫고 상위 메뉴에서 Tool-> new terrain 선택합니다
사용자 삽입 이미지
- New terrain wizard 가 나옵니다.첫번째 단게는 살짝 넘어가 줍니다. 두번째 단계에서 우리가 만들어준 terrain lyer setup을 선택하신후 Finish를 눌러줍니다
사용자 삽입 이미지
- 이제 사각형의 지형이 나타났습니다 ( 나는 그것을 보기 위해서 single light를 추가 했습니다)
사용자 삽입 이미지
- 이제 왼쪽 툴바에서 terrain tool을 선택합니다. 이것은 지형편집도구를 여는 것입니다. 여기에 많은 옵션이 있어 수정이 가능하지만 지금은 페인트를 선택합니다.아래에 있는 terrain layer 를 선택해 줍니다. Radus와 Falloff 를 크게 설정합시다. 왼쪽 ctrl키와 함께 마우스 왼쪽 버튼을 클릭하면 지형이 올라가고 오른쪽 버튼을 클릭하면 지형을 낮추게 됩니다
사용자 삽입 이미지

반응형
반응형

1. 브러쉬? 브러쉬!!
- 언리얼에서는 다른 툴들과는 달리 브러쉬라는 개념을 사용하고 있습니다
이 브러쉬라는것은 3D공간에 실제적으로 그리는 것입니다....
Add 나 Subject 명령으로 비어있는 공간에 채우거나 채워져 있는곳을 빼는 역활을 합니다
간단히 땅따먹기를 생각 하시면 쉽습니다..

사용자 삽입 이미지
자 친숙한 그림이지요? 노란색과 같이 줄을 그은 다음에 빨간색 부분을 지워줘야 내 땅이 되는것처럼
브러쉬라는 넘은 노란색 선을 그리는 것이고 Add 나 Subject 명령어는 빨간색 부분을 지워주는 것이라고 생각하시면 됩니다

2. 언리얼 3에서는 이전의 버전과는 달리 비어있는 공간과 채워져 있는 공간을 선택할수 있습니다
아무것도 없는 상태에서 Add를 사용하여 공간을 만들어야 하는 작업영역을 선택하시거나 모두다 채워져 있어 Subject 로 나의 공간을 빼서 만드는 형식으로 공간을 만들수 있습니다
사용자 삽입 이미지
위쪽에 있는것이 아무것도 없는 공간의 생성이고 아래쪽에 있는것이 꽉 차있는 공간을 말합니다
처음에 실행하면 기본적으로 작업영역은 Additive 로 되어 있습니다 File -> New 를 해주셔야 위의 그림과 같은 화면을 보실수 있습니다


반응형
반응형

원본 출처 http://www.gasduck.com/gasduck/BasicMaterial/BasicMaterial.htm

basic Material- 이 튜토리얼은 베이직 메트리얼을 작성하는 방법에 대해 설명합니다
This is not the most efficient way of doing this and takes more disk space than other ways of doing this, however it does show the basics of how to create a material.
베이직 매트리얼을 만드는 방법을 설명합니다 **디스크 용량 어쩌고 인데 그닥 중요하지 않은듯..-_-;;**

generic 브라우져를 선택하여 File->Impot 를 선택하여 가져올 파일을 찾을수 있습니다. 택스쳐는 포토샵인(.psd)파일 포멧을 불러올수 있습니다. 작동을 하는곳이 많습니다
시작으로 디퓨즈 택스쳐를 나의 매트리얼로 선택할것입니다

사용자 삽입 이미지

열기를 선택하면 리소스를 가져올것이라면서 다음과 같은 창을 열게 됩니다
여기에 패키지이름은 마이패키지로 될것이고 그룹의 이름은 택스쳐로 설정됩니다(내 그룹안에 택스쳐를 집어 넣는것입니다) **그러니까 마이패키지라는 곳에 텍스처를 추가 한다는 말임다**

사용자 삽입 이미지
택스쳐를 가져온 이후 오른쪽 버튼을 클릭하여 Create New Material 를 선택하여 새 매트리얼에 해당택스쳐를 사용하도록 만듭니다
사용자 삽입 이미지
새 매트리얼을 만들때 대화창이 나와 어떤패키지에 넣을것인지 그룹과 이름 을 넣을수 있습니다(새로운 매트리얼을 넣을 그룹)입니다  **그러니까 매트리얼을 만들때 우리가 만들었던 마이패키지에 넣을수 있다는 말**
사용자 삽입 이미지
그다음 generic 브라우져에 나온 메트리얼을 더블클릭합니다.매트리얼 편집기가 나옵니다.지금의 미리보기가 표시 됩니다.오른쪽 화면에 택스쳐 샘플이 나옵니다.이 질감을 선택하고 이동할수 있습니다. 왼쪽에 샘플을 선택하고 ctrl 키와 함께 드래그 합니다. 검정색 탭을 클릭하여 왼쪽 매트리얼에 있는 디퓨즈에 연결을 합니다
사용자 삽입 이미지
나는 normal map 과 secular map 두개의 택스쳐를 가져와 추가 할것입니다
사용자 삽입 이미지

당신의 메트리얼 을 더블클릭하여 매트리얼 에디터를 엽니다. generic 브라우저에서 specular texture  을 선택하신이후 메트리얼 에디터로 돌아옵니다. 매트리얼 에티터 오른쪽의 리스트에서 texture sample 항목을 더블클릭하여 택스쳐 샘플을 추가 합니다.같은 방법으로 노말맵도 불러옵니다
사용자 삽입 이미지

위의 단계를 수행하면 이것은 매우 심플한 매트리얼입니다 diffuse texture, a specular texture, and a normal map을 포함하고 있습니다
사용자 삽입 이미지

후 두번째 것도 잘 끝났네요 완전 개삽질입니다;;;

**추가 1 - 마이 패키지를 만드신다음에 generic 브라우저에서 저장하셔야 합니다...안그럼 사라집니다..-_-
**추가 2 - 마이패키지에 있는것으로 맵을 만드신다음에 다시 불러오실때는 마이패키지를 먼저 불러오신이후에 불러오셔야 합니다**
반응형

+ Recent posts