Power by Lenshuang~2+3D Game Vfx Base since 2003~2014
  • 首先建立模型类似水纹形状
    赋予水纹贴图

    创建粒子发射器Super Spray

    给发射器赋予暴风力场

    进入模型节点属性选项将模型边缘的顶点色设置成黑色

     

    给模型赋予如图的多种材质

    BaseMap GlossMap DetailMap  

    每张贴图附带Alpha通道如图所示

     

     

     进入模型材质界面叠加方式使用:Srcalpha One

    在Alpha Test选项菜单中勾选On,打开AT功能

    将TestRet分别设置成150和75

    TestMode设置成Greater和Lessqual

     

     

    开启AlphaTest数值如图所示
    TestRet:156 TestMode:Lessequal

    将粒子的生命设置如图所示

     

    最后观看最终效果

  •  

    图形接口

    【来源:Emergent官方网站】

    DirectX

    支持 2.6版本后支持DirectX 10

    OpenGL

    支持

    其他

    未知

    版本信息

    最新版本Gamebryo LightSpeed 3.1   April 2009

    支持平台

    【来源:Emergent官方网站】

    Windows

    支持

    Linux

    不支持

    MacOS

    支持

    Xbox 360

    支持

    PS3

    支持,且支持PS2

    浏览器

    不支持

    其他

    Nintendo GameCube Wii/WiiWare

     


    脚本

    支持利用LuaGamebryo的默认脚本语言) 或者C++来控制实体行为,也包含一个简单的Python语言的整合。此外,通过使用SWIG工具(SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具),几乎任何语言被用作实体行为脚本语言。

    【来源:Emergent官方网站】

    编辑器

    Toolbench

    Entity Modeling Tool

    实体建模工具,让你设计和完善实体模型,许多不同的属性和行为都可以应用到这些实体上。该系统是对最先在场景设计工具中实体概念的扩充。

    World builder

    一旦在DCC工具中创建了游戏素材,以及在实体建模工具中定义了一个合适的模型层次结构关系,就用该工具将这些组件组装成场景。

    Script Debugger

    脚本调试器是一个集成的开发环境,你可以在上面编写和调试脚本代码。它旨在为Emergent游戏框架开发实体行为脚本

    查看:

    Scene Designer

    该工具用在早期的gamebryo引擎中,Lightspeed版本用其来创建和编辑地形素材。

    Asset Viewer

    该工具用来查看和分析游戏引擎中NIF文件的性能 

    Animation Tool

    该工具帮助开发者预览、编辑、组织游戏角色的动画。

    Asset Controller

    一个应用程序可以监视游戏assets和支持快速迭代开发

    游戏资源导出插件

    Gamebryo为当今主要的DCC工具(MAXMayaXSI),它都提供了游戏所需资源的导出插件。这些导出插件的用户界面简单、方便且易使用。美术人员可轻而易举地设置导出环境。从而导出游戏所需的数据:

     NIF文件包含与几何模型有关的数据;

     KF文件包含动画数据;

     KFM文件包含定义一个角色所需的NIFKF以及动画序列间的默认转换方式。

    物理引擎

    碰撞检测

    支持

    其他

    Gamebryo 利用NVIDIA PhysX物理中间件来实现动态的物理效果:如强烈的燃烧爆炸、碎片、逼真的水、栩栩如生的人物角色。


    <

    渲染

     Render FrameNiRenderFrame

    这是Gamebryo渲染系统中的最上层界面。它代表一个完整的渲染过程。从图中可知,这一过程是由一系列的Render Step来完成的。

     Render Step NiRenderStep

    Render Step是一个独立的渲染过程。它既可完成主场景的渲染,又可完成一个特效的渲染过程(比如HDRDOF等)。一个独立的渲染操作过程可能由一个或几个Render Click来完成。

     Render Click NiRenderClick

    Render Click是一个针对单一渲染目标(Render Target Group)的独立的渲染操作。

     Render View NiRenderView

    Render View直接对参与渲染的物体进行处理(如剪切、Alpha排序等)。一个Render View可以参与不同Render Click的渲染操作。

    特效

    【来源:Emergent官方网站】

    支持

    支持

    支持

    Billboarding,天空,火,爆炸,decals,雾

    Environment maps(球形环境贴图在所有的平台上被支持,立方体环境贴图在DX8Xbox上被支持)

    雾有三种模式:Range-basedZ-based、(Texture-basedVolumetric

  • 很久很久以前,在黄河的博客中看到了这样的一张图:如下:

    用过Gamebryo的朋友们一定知道吧。“啥?不知道,回头把Gamebryo的帮助文档抄写10遍!”

    不过还真有遇到这样那样问题的朋友过来求助,最多的就是每次都要输入,好烦啊。

    long long age雪狼就属于懒的流油,早就不想一个一个去输入的人,写个小脚本解决问题

    这个脚本除了上述那张图的批处理问题外,还有对2.2版本在场景中大量碰撞盒BUG的规避解决方法(这个BUG是指2个以上的碰撞盒在场景导出后部分会被优化而消失掉,解决方法是将需要充当碰撞盒的虚拟体每个自身群组然后重命名为指定碰撞盒命名,如:NDLCD BN 01)。动画的转换(有时需要不等比缩放,需要表现Bend,Twist,Noise等动画)。除此之外连材质球都先预设了,省的我老是忘这忘那的,呵呵。

    看看Script的代码吧,很简单很简单,各位观众~~~~~~

     

    呵呵先提供这么多,聪明的你应该知道怎么改写这些了吧。


  • Percentage of Particles:粒子百分比显示

    Particle Quantity:粒子数量的不同计算单位速率及总数

    Motion:粒子动态,速度和随机值

    Particle Timing:粒子时间,粒子发射开始及结束时间,粒子生命,随机值

    Particle Size:粒子大小,尺寸及随机值,出生缩小,衰减缩小

    Rotation and Collision:旋转和碰撞,旋转时间,旋转方向【GB在粒子输出参数中有对应的旋转控制】

    Gamebryo Exprot Params:GB输出参数

    LOOP:粒子循环

    Rest On Loop: 在循环时间内反复从头开始循环

    System Start:循环开始帧数

    System End:循环结束时间

    Honor Viewport Counts:对应基本参数中的粒子百分比显示,控制粒子的显示个数

    PSystemParentNode:选择物体都粒子在运动中不会有拖尾

    Maximum Active Particles:最大活跃例子数量

    Re-estimate Maximum:评估当前最大粒子数量

    Particle Rotation Option:粒子旋转参数

    Speed:旋转速度 Varation:随机值

    Bi-Directional Rotation:每个粒子随机顺逆时针旋转

    UV动画

  • 前言:应火星时代网站的邀请制作了一集Gamebryo游戏特效教程PPT。特此感谢为了这个专集忙碌多月的网站朋友。将教程发布于个人博客,仅代表个人对游戏特效的制作开发作个归纳。首次写教程还望各位看官多包涵,特此声明教程内容均来自个人作品,不足之处多提点。

    火星时代链接地址:http://www.hxsd.com/tutorial/muhouzhizuo/20101208/32314.html

  • ◈ Gamebryo 씬에 텍스처를 추가할 때는 다음과 같은 네가지 사항 즉, 텍스처의 면적, 텍스처의 종횡비, 필터링 효과, VRAM의

      크기에 주의해야 합니다. VRAM은 실제 그래픽 카드에 있는 메모리로, 렌더링 하드웨어가 빠르게 액스할 수 있습니다.

      프레임버퍼(스크린을 그리고 디스플레이 하는 데 쓰이는 VRAM 부분)와 Z-buffer는 둘 다 VRAM의 일부를 차지하고 있기

      때문에 텍스처에 사용 할 수 있는 메모리의 양을 감소 시킵니다. 

      VRAM에 들어갈 수 있는 것보다 더만흔 텍스처를 사용하는 것이 가능한데 이런경우 그래픽 카드는 렌더링에 필요하다면

      언제든지 시트템 메모리로부터 텍스처를 가져올 것입니다.

      이 프로세스는 텍스처를 VRAM에서 가져오는 것보다 훨씬 느리기 때문에 PCI그래픽카드에선 절대적으로 피해야 하며,

      AGP 그래픽 카드에선 VRAM의 범람(overfow)을 완전히 피할 필요는 없지만, 시스템 메모리로부터 더 많은 텍스처를 가져와야

      함에 따라 퍼포먼스가 여전히 저하될 것입니다.

      (모든 텍스처를 VRAM에 맞춤으로써) 이 문제를 전체적으로 피하는 것 말고는 시스템 메모리로부터 텍스처를 가져오는 작업을

      개선하기 위해 팔 수 있는 일은 거의 없습니다. 

    ◈ Gamebryo 텍스처링 문제는 하드웨어 "2 승수" 문제입니다.

      디폴트로 , GAmebryo 3ds max Plug-in은 질은 떨어지나 그 속도는 빠른 사이즈 조정 기술을 사용하여 2의 제곱이 아닌 모든

      텍스처를 적절한 크기로 줄입니다.

      이 기술은 프로토타입에는 괜찮으나 최종 asset을 익스포트 하기 전에 모든 이미지를 2 승수로 조정하는 것이 좋습니다.

      메인 익스포트 다이얼로그에는 2의 제곱이 아닌 텍스처를 익스포트 하게 해주는 익스포트 옵션이 있지만 이 옵션이 체크된

      상태에서는 2의 제곱이 아닌 텍스처에 mip-mapping을 사용할 수 없습니다.

      이 텍스처는 trilinear 보간(interpolation)대신 bilinear보간을 사용 할 것입니다. 

    ◈ Gamebryo의 텍스처는 정사각형일 필요는 없으나 극단적인 종횡비는 VRAM을 조각냅니다.

      이 조각내기가 발생하는 이유는, 이상한 모양의 텍스처는 규칙적인 모양의 텍스처를 패킹하는 것만큼 쉽지가 않기 때문입니다.

      일반적으로 8:1 보다 작은 종횡비만 사용해야 하는데, 추가적으로 텍스처 크기의 기본세트를 정해야 합니다.

      똑같은 면적의 텍스처들은 VRAM에서 서로 쉽게 교체되므로 VRAM의 관리 체계가 빨라지나, 서로 다른 크기의 텍스처가

      너무 많으면 그 교체 기반의 텍스처 관리 체계가 무너질 것 입니다.  

    ◈ 지원되는 텍스처

      - NIF, TGA, BMP, PNG, DDS, SGI, HDR

      - JPG 등의 다른 이미지 타입은 내부 텍스처나 외부 NIF 텍스처로 익스포트 되는 경우를 제외하고 지원되지 않습니다.

      

    1. Coordinates Panel

      - Mapping 타입은 "Explicit Map Channel"만 지원됩니다.

      - UV Offset과 Tiling이 지원되며 독립적으로 애니메이트 시킬 수 있습니다.

      - Mirror는 지원되지 않으며, Tile은 지원됩니다.

      - Angle 중에선 W만 지원되고 애니메이트 시킬 수 있습니다.

      - Blur와 Blur offset은 지원되지 않습니다. 

    2. Noise

      - 지원되지 않습니다.

    3. Bitmap Parameters

      - Filtering 모드는 mip-mapping이 수행되는지의 여부를 결정합니다.

        Pyramidal fitering은 TRILERP을 수행하고, Summed Area 는 BILERP을 수행합니다.

        None 는 mip-mapping을 수행하지 않고 Nearest-Neighbor 필터링을 수행합니다.

      - Pyramidal filtering 은 텍스처의 VRAM크기를 1.3배까지 증가시킵니다.(summed area나 none과는 반대로)

        Pyramidal filtering이 작동됐을 때는 텍스처를 필터 레벨(이 필터 레벨에서 각 레벨은 전 레벨의 4/1크기가 됨)과 저장해야

        합니다.

        Pyramidal filtering에선 텍스처의 얼라이싱(aliasing)이 개선되겠지만 VRAM에서 공간에 대한 비용을 치르게 되어

        씬의 시각적 품질을 향상시키며 거의 모든 경우에 쓰이긴 하지만 Pyramidal filter가 적용된 텍스처는 필요한 메모리를

        1.3배까지 증가시키게 됩니다.

         

      - Mono Channel Output 및 RGB Channel Output은 지원되지 않습니다. 

    4. Time

      - IFL 파일이나 AVI파일과 같이 애니메이션이 적용되는 이미지에 대해 완벽히 지원됩니다.

    5. Output

      - 지원되지 않습니다. 

    ◈ 플러그인 Add/Remove Texture Export Attributes 으로 생성되는 패널입니다.

      - 게임브리오 익스포트 옵션에서 설정하는 옵션과 동일한 것으로 좀 더 세부적으로 설정할 수 있으며,

       메트리얼마다 개별적으로 익스포트 옵션을 설정 할 수 있게 해줍니다.

    1. Selected Platform

      - 픽셀의 퀄리티 설정을 플랫폼 당 토글하게 해줍니다. 

    2. Use Current Platform For All

      - Pixel Quality 설정이 모든 플랫폼에서 같아지게 만들며, 모든 프랫폼에 적용되는 Quality 옵션에만 이 옵션을

       선택할 수 있습니다.

       이 옵션을 선택하면 플랫폼 특정 옵션은 선택할 수 없습니다. 

    3. Export Mode

      - Global Settings : 텍스처 익스포트 모드가 Export dialog(게임브리오 익스포트 시 옵션)에 나온대로 설정됩니다.

      - Internal To NIF : 현 메트리얼 텍스처 맵을 NIF 파일 안에 둡니다.

      - External NIF tecture : 현 메트리얼 텍스처 맵을 별개의 외부 NIF 파일로 둡니다.

      - Original Images : Gamebryo가 원본 이미지를 로드하게 합니다.

      - Original Images VRAM : 직접 렌더러에 로드된 원본 이미지를 사용합니다. 

    4. Filtering

      - 이 서브 패널에선 텍스처를 렌더링 할 때의 mip-mapping과 filtering이 일어나는 방식을 설정 할 수 있습니다.

        이 값은 Bitmap rollout의 Pyramidal/Summed Area/None 값을 오버라이드 합니다.

      - Pyramidal과 똑같은 결과를 얻으려면 Filter Mode를 Linear 설정하고 Mip-Mapping Mode도 Liear로 설정해야 합니다.

      - Summed Area와 똑같은 결과를 얻으려면 Filter Mode는 Linear로, Mip-Mapping Mode는 Off로 설정해야 합니다.

      - None과 같은 결과를 얻으려면 Filter Mode는 Neatest로, Mip-Mapping Mode는 Off로 설정해야 합니다. 

    5. Final Pixel Quality

      - Image Default : 텍스처 압축을 하지 않고 익스포트 합니다.

      - Use Global Settings : Export dialog(게임브리오 익스포트 설정)에 설정된 값을 따라갑니다.

      - 32bit / 16bit / 8bit : 해당 비트수를 가진 텍스처 파일로 압축되어 익스포트 됩니다.

      - DXT1 / DXT3 / DXT5 : DDS로 압축해서 익스포트 됩니다.(보통은 DXT1로 익스포트 하나 알파가 있거나 특정 텍스처는

                                        DXT3이나 DXT5로 익스포트 해야 합니다.)

      - 당연히 각각의 압축형식에 따라 용량 차이와 미세한 퀄리티 차이가 있습니다. 

    6. Final Texture Size

      - 이 옵션은 mip-map pyramid 중에 적당한 레벨을 선택해서 이를 최상위 mip-map 레벨로 만듭니다.

        (쉽게 말해 1, 2, 3, 4 의 mip-map이라면 1을 버리고 2를 최상위로 올려 2, 3, 4의 mip-map으로 만드는 것인데 단순하게

         텍스처의 사이즈가 줄어든다고 생각하면 됩니다.)

        그 결과 흐릿한 텍스처(blurry texture)가 만들어 질 수 있으나, 메모리 사용량이 상당히 줄어들게 됩니다. 

    7. MipMap Pyramid

      - 이 custom attribute는 완전히 맞춤형의 mip-map pyramid를 생성하게 해줍니다.

      - Auto-Generate Mip-Maps : 이 옵션은 custom mipmap 아이콘들을 enable/disable 시킵니다.

                                                수동으로 mipmap을 생성할 시 체크를 해제시킵니다.

      - Mip-Map Levels : 각 레벨은 그 면적이 정확하게 전 단계 이미지 크기의 반의 되는 비트맵 이미지로 지정해야 합니다.

                                  2의 제곱이 아닌 텍스처의 경우 한 레벨의 치수가 홀수이면 나눗셈 결과는 반올림 되고, "View" 버튼을

                                  사용해서 각 레벨을 볼 수 있습니다.

  • 버텍스 컬러 및 알파

      - 버텍스 알파를 이용해서 텍스처간의 혼합이나 버텍스 컬러로 대략적인 명암 혹은 컬러를 주어 좀 더 다양한 그래픽을

        구현할 수 있습니다.

     

      - Src Mode 가 Amb - Dif 이면 버텍스 컬러는 텍스처 위에서 변조 됩니다. 흰색은 원래의 텍스처 값을 나타내므로 이 변조에

       서는 텍스처가 어두워지기만 합니다. 씬의 동적 라이트(3ds max 라이트)는 여전히 텍스처에 영향을 미칩니다.

      - Src Mode가 Emissive이면 버텍스 컬러는 텍스처에 자가 조명(self - illuminating)을 만들어 냅니다. 텍스처는 버텍스 컬러에

       의해 정적으로 비춰집니다.

       이것은 완전히 정적인 씬에 쓰이는 모드이며, 텍스처들이 라이트 리스트에 포함되면 버텍스 컬러는 라이트 컬러에 첨가되어

       결국은 하얗게 됩니다.

       Max 는 라이트를 포함하고자 하기 때문에 Max에서 이 모드를 생성하는 건 좀 까다롭습니다.

      - Src Mode가 lgnore이면 버텍스 컬러를 보이지 않는 데이터에 쓰기 위한 모드이므로 라이팅에 사용하지 않습니다.

      - Channel

         Vertex Color : 버텍스 컬러

         Vertex Illum

         Vertex Alpha : 버텍스 알파

         Map Channel : 맵 채널을 설정

      Edit 클릭하면 생성되는 패널

      - 오브젝트 > 오른쪽 버튼 > Object Properties > Vertex Channel Display 체크

       (맥스 뷰에서 작업 시 버텍스 페인터 작업을 실시간으로 볼 수 있습니다)

        

  •  Environmental Steeins ( 환경설정 )

      - Gamebryo 3ds max Plug-in 에서 배경 색은 Rendering > Environment > Common Parameters > Background Color 를 통해

       설정합니다.

       Environment Map 을 고르는 옵션은 아무런 효과가 없습니다.

       Gamebryo 3ds max Plug-in 에서 Global Lighting 섹션의 Ambient 컬러는 Ambient light 값을 제어하며, 이 컬러를 완전한

       검은색으로 설정하면 Gamebryo 3ds max Plug-in 은 별도의 라이트를 익스포트 하지 않을 것입니다.

     ◈ Light setting ( 라이트 설정 )

      - Max의 omni light , directional light , spot light가 지원되며, on/off 플래그는 애니메이트 시킬수 없지만 라이트를 끄거나

       키고 싶다면 컬러를 검정색으로 애니메이트 시킬 수는 있습니다.(라이트는 RGB 0,0,0 에서 꺼집니다)

      

       Gamebryo 엔진에는 ambient light의 개수에 제한이 없으나, 3ds max에는 ambient light가 하나뿐입니다.

       따라서 Gamebryo 3ds max Plug-in 을 통해 라이트와 함께 익스포트 된 씬에는 ambient light 가 하나만 있을 것입니다.

       3ds max 의 ambient light 컬러는 Rendering > Environment > Global Lighting 옵션을 통해 설정할 수 있으며,

       라이트가 더 필요한 경우엔 프로그램적으로 설정 해줘야 합니다.

       Omni light와 spotlight는 위치와 방향을 가지고 익스포트 되지만, Direct light는 무한 라이트이기 때문에 3ds max direct light의

       위치는 무시됩니다.

    ◈ Include / Exclude : 동적 라이트를 관리하는 쉬우면서도 중요한 방법입니다.

     

       Exclude(혹은 Include)를 클릭하면 나타나는 창.

    1. Include 리스트에 포함된 오브젝트가 있다면 해당 라이트는 include에 포함되지 않는 건 모두 무시합니다.

       (Include 리스트에 포함된 오브젝트에만 라이트를 비추게 됩니다.) 

    2. Include / Exclude 리스트에 아무것도 없으면 라이트는 모든 오브젝트를 비추게 됩니다. 

    3. Exclude 리스트에 포함된 오브젝트가 있다면 해당 라이트는 exclude에 포함되어 있는건 무시하고 그 외 나머지

      오브젝트를 비추게 됩니다.

    ◈ 1차식 감쇠(Inverse:역) 2차식 감쇠(Inverse:역 제곱)

       

        

        왼쪽 스피어 그룹은 2차식 감쇠(Inverse:역 제곱)       /       오른쪽 스피어 그룹은 1차식 감쇠(Inverse:역)

       - 감쇠는 Omni light와 Spot light에만 지원되며 아래와 같이 전환됩니다.

            

       라이트 감쇠가 작동하려면 Decay 타입을 켜두어야 합니다.

       Gamebryo에선 라이트에 Far Attenuation 값만 영향을 미칩니다.

       Spot light의 "Light Cone : Falloff" angle 이 익스포트 되며, 쉐이더 파이프라인을 사용 할 때는 Spot light의 "Light Cone :

       Hotspot" angle이 익스포트 됩니다. 

    ◈ Atmospheres & Effects 는 지원되지 않습니다. 

      

    ◈ Projected Effects

      - Projector Parameters 롤아웃에 맵을 로드하면 그 맵은 라이트 맵을 투영하게 됩니다.

      - 그림자를 투영하려면 맵을 shadow Parameters 롤아웃의 Map에 로드합니다.

         

      - "Light Affects Shadow Color"는 투영된 맵을 환경 맵으로 만듭니다. 

    정적 라이팅 ( Static Lighting )

      - 동적 라이트는 한 두개 밖에 없을 때에도 씬에 라이트가 많이 있는 것처럼 보이게 최적화 하는 방법이 많습니다.

       이 기술을 Static Lighting(정적 라이팅)이라 하며, 지오메트리에 버텍스나 픽셀 수준으로 라이팅을 미리 구워서 지오메트리가

       빛을 받고 있는 것 같은 느끼을 만들어 냅니다.

       이 기술은 대부분의 엔진이 적당한 프레임율로 돌아가면서 좋은 라이팅을 얻게 되는 방법입니다.

       정적 라이팅은 버텍스를 페인팅 해서 버텍스 수준에서 처리하거나, 매우 섬세한 그림자가 필요할 땐 메트리얼에 Dark map이나

       Light map을 할당해서 픽셀 수준에서 처리 할 수 있습니다.

    버텍스 컬러로 명암주기

      - 버텍스 페인팅에는 Vertex paint modifier나 Assign Vertex Colors 유틸리티를 사용합니다.

      - 맥스 뷰에서 버텍스 컬러를 확인 할려면 오브젝트 오른쪽 버튼 > Object Properties > Vertex Chammel Display 를 체크

       해줘야 합니다.

       버텍스 컬러는 오브젝의 버텍스 컬러 채널로 설정되며, Unwrap UVW나 UVW Map 에서 Vertex Color Cahnnel을 설정해

       줄 수 있습니다. 

      - Src Mode 가 Amb - Dif 이면 버텍스 컬러는 텍스처 위에서 변조 됩니다. 흰색은 원래의 텍스처 값을 나타내므로 이 변조에

       서는 텍스처가 어두워지기만 합니다. 씬의 동적 라이트(3ds max 라이트)는 여전히 텍스처에 영향을 미칩니다.

      - Src Mode가 Emissive이면 버텍스 컬러는 텍스처에 자가 조명(self - illuminating)을 만들어 냅니다. 텍스처는 버텍스 컬러에

       의해 정적으로 비춰집니다.

       이것은 완전히 정적인 씬에 쓰이는 모드이며, 텍스처들이 라이트 리스트에 포함되면 버텍스 컬러는 라이트 컬러에 첨가되어

       결국은 하얗게 됩니다.

       Max 는 라이트를 포함하고자 하기 때문에 Max에서 이 모드를 생성하는 건 좀 까다롭습니다.

      - Src Mode가 lgnore이면 버텍스 컬러를 보이지 않는 데이터에 쓰기 위한 모드이므로 라이팅에 사용하지 않습니다.

    다크맵으로 명암주기

      - 복잡한 그림자에 쓸 Dark Map을 만들려면 그림자를 맵핑하려는 방식에 맞는 뷰포트에서 렌더링해서 grayscale lighting   

       stencil 이 되게 해야 합니다.

       Dark Map 를 미리 생성하는 방법에는 여러가지가 있습니다.

       좋은 그림자 맵을 만들었다면,  이 맵을 새로운 UVW채널을 사용해서 새로운 UVW modifer로 오브젝트에 맵핑하며, Dark Map

       로드 버튼을 통해 Gamebryo에 로드됩니다. 

      - 라이트가 움직이지 않는 모든 경우엔 되도록 정적라이팅으로서 버텍스 컬러나 다크맵(혹은 라이트맵)을 사용해야 하며,

       이 작업에선 모든 라이트에 감쇠(attenuation)를 설정해주는 것이 중요합니다.

       씬의 라이팅에 동적 라이트를 사용하는게 더 쉽다고 느낀다면, 프로그래머가 동적 라이트를 자동으로 버텍스 컬러에 구워서

       처리해 줄 수 있을 것입니다.(이 방식이 필요한지를 프로그래머와 상의 하십시오)

    3ds Max와 동적 라이팅

      - 라이팅을 셋업하는 가장 쉬운 방법은 Max의 표준 라이트를 이용하는 것입니다.

       그러나, 동적 라이트는 비용이 많이 들며, 라이트가 움직이지 않는 경우라면 동적 라이트를 사용하는 건 너무 과합니다.

       라이트가 씬에서 움직여야 한다면 그 때 동적 라이트를 사용하십시오.

       라이팅의 작동 방식은 모든 프레임에서 각 버텍스나 픽셀마다 라이팅을 계산 하는 방법인데,이때 어플리케이션이 최고의

       속도로 구동되게 하려면 잘 판단해서 되도록 적은 라이트를 사용해야 합니다.  

       라이트의 종류마다 퍼포먼스가 다릅니다.

       directional light, omni light, spot light 순으로 비용이 적게 들며, 라이트의 종류에 따른 퍼포먼스의 차이는 라이팅을

       픽셀 당 처리 할 때 더욱 중요해집니다. 

       디폴트로 디퓨즈 라이팅과 스펙큘러 하이라이트는 버텍스 당 계산되지만, 메트리얼에서 Normal map이나 Parallax map이

       쓰인다면 라이팅을 픽셀 당 계산해야 합니다.

       라이팅을 픽셀 당 계산하면 그 결과는 더 좋게 나오나 퍼포먼스가 나빠질 수 있습니다.

       렌더링 되고 있는 오브젝트가 동적 그림자를 받을 경우에도 라이팅을 픽셀 당 계산해야 합니다.