Tutorials

Document size independent texture size control.

Summary. This example presents, creates, and practices how the artists can control the texture size of the desired texture pass category regardless of the root document size of the Substance painter. 概括。此示例展示、创建和练习美术师如何控制所需纹理通道类别的纹理大小,而不管 Substance 画家的根文档大小。 NEED VPN IF YOU LIVE IN MAINLAND OF CHINA

AUTO-GENERATION SURFACE CHARACTERISTIC FILTER

summary. This example is about developing a filter that automatically generates the Roughness and Metallic values of a surface using a list of COLOR IDs. 概括。 此示例是关于开发一个过滤器,该过滤器使用 COLOR ID 列表自动生成表面的粗糙度和金属值。 NEED VPN IF YOU LIVE IN MAINLAND OF CHINA

WORLD SPACE NORMAL USAGE INSIDE SUBSTANCE DESIGNER

Preface. A demonstration for learning about the concept that can actively utilize the information of various information textures baked. 前言。学习可以积极利用烘焙的各种信息纹理的信息的概念的演示。

How to enable two-sided rendering in Substance Designer?

如何在 Substance Designer 中启用两侧渲染? How can I enable Two side rendering in Substance designer? Yesterday I was asked a question by a colleague of mine I worked with before. My old colleague was able to figure it out on his own. Anyway, here are a few things to clear up. If you’re not a student…

How I could be simulation Display p3 Color Gamut inside Game-Engine development mode.

Author : leejungpyo@corp.netease.com First published this topic : 2021.5.10 What is this issues I was focused on now. Purpose. Basically Chinese game industry have a lot of old stuff of Dell monitor even now 2021 in years. So many artist When they working there absolutely use to sRGB thigh color gamut space but modern display…

(CN)Nintendo Switch game contents GPU Frame profiling.

在撰写本文之前,我想指出我是Nintendo Switch的真实用户。请注意,本文仅涉及如何使用仿真器进行分析来分析GPU框架。 Nintendo Switch game 是一个页面,它汇总了使用 Frame debug 进行分析的方法 Summary Emulator CEMU Emulator YUJU Emulator Early version. INTEL GPA GPU Analyzer.  RenderDoc ControllerProfile. 在上面两个中选一个就可以。 建议准备游戏控制器。您可以在淘宝等处购买任天堂Switch的游戏控制器,也可以使用XBOX ONE或PS4的游戏控制器。* 您可以使用键盘,但设置不方便。 Roms 表示为 Nintendo Switch game。最近,大多数可以使用伦克下载的地方消失了 Controller Profile. https://1drv.ms/u/s!An-MyWbumfPY0qkzrzNZA6MiYsNRUA?e=DVmB4D CEMU 设置和环境设置。 通常使用 CEMU  设定 准备物. 按顺序设置 最新CEMU 安装文件 http://cemu.info/releases/cemu_1.21.3.zip CEMU HOOK FILE https://files.sshnuke.net/cemuhook_1159_0573.zip 解压缩并将所有档案CEMU复制到可执行文件所在的目录。 CEMU GraphicPack https://slashiee.github.io/cemu_graphic_packs/ 解压缩并复制所有目录,并将其粘贴到 CEMU…

[CN]Physically Based Shading in Theory and Practice. SIGGRAPH 2020 Course

Course OrganizersStephen Hill Lucaslm Stephen McAuley Sony Santa Monica Studio Presenters Laurent Belcour Unity Technologies Will Earl MPC Film Niklas Harrysson Autodesk Sebastien Hillaire Epic Games Naty Hoffman Lucaslm Lee Kerley Sony Pictures Imageworks Jasmin Patry Sucker Punch Productions Rob Pieke SideFX Igor Skliar MPC Film Jonathan Stone Lucasfilm Additional Contributors Pascal Barla Inria Megane…

[KOR]Physically Based Shading in Theory and Practice. SIGGRAPH 2020 Course

Course OrganizersStephen Hill Lucaslm Stephen McAuley Sony Santa Monica Studio Presenters Laurent Belcour Unity Technologies Will Earl MPC Film Niklas Harrysson Autodesk Sebastien Hillaire Epic Games Naty Hoffman Lucaslm Lee Kerley Sony Pictures Imageworks Jasmin Patry Sucker Punch Productions Rob Pieke SideFX Igor Skliar MPC Film Jonathan Stone Lucasfilm Additional Contributors Pascal Barla Inria Megane…

How to modify to mipmap bias more easily? Case Study

Unity引擎mipmap偏差值的默认值为“ -100”。通常,推荐值为“ -0.5”。但要自己设置艺术家。如何更改设置?研究如下。您可以使用随附的Unity项目对其进行测试。 The default value for the Unity engine mipmap bias value is “-100″. In general, the recommended value is “-0.5″. But set up the artist yourself. How can I change the settings? Study below. You can test it using the attached Unity project. Trilinear sampling is recommended and there is no difference in anisotropic…

Blur control-Mipmap bias handling

请先阅读。最新的Unity版本的Kaiser滤镜无法达到传统的NVIDIA Kaiser滤镜结果。实际上,Unity公司修改了Kaiser滤镜结构,但这是加快导入纹理速度的一种方法。甚至最新的2020年Kaiser过滤器版本也比以前更清晰。Read it first.The latest Unity version of the Kaiser filter does not reach the traditional NVIDIA Kaiser filter results.In fact, the Unity company modified the Kaiser filter structure, but it was a way to speed up the Import Texture.Even the latest 2020 version of Kaiser filter isn’t sharper than it used to be. 我不会详细解释Mip贴图,因为我们的学生已经知道Mip贴图基本上是什么。请参考下图。I…

Difference between Texture Array and Texture Atlas (simplified version)

在Unity 做Rendering相关优化时不得不使用TextureArray 。这是因为Unity里为了减少 DrawCall 而使用的 Batching。简单来说新画的material和Mesh种类越多,DrawCall 就会越多。但是 DrawCall 不便宜,会消耗很大的CPU性能。所以Unity 会自动进行 Batching 。使用同样的material就会自动捆绑,使用同样的Mesh也会自动捆绑。所以 Batching 跟 DrawCall 次数是一样的概念。 为了减少 Batching 的次数,减少material的方法对应的就是 TextureArray 。比这个还常用的方法是 TexutreAtlas ,但这种方法很单纯。在一张贴图上添加所有图片,修改UV的时候才会用。一般是在UI 图片上设置Sprite的时候会用到, Unity有一种把 Sprite合并在UGUI 功能上做成 TextureAtlas 的功能。但是3D 物体的UV 就不一样了。UV 坐标是 0和 1之间的值组成的,如果想把很多张贴图设置在一起的UV坐标合并在一起重新设置的话会非常麻烦。如果合并前的贴图在合并后又增加的话就更麻烦了。这样最终就成了生产效率的问题,所以会用其他方法,而这个方法就是 TextureArray 。 TextureArray的概念很简单,是把贴图按列进行捆绑,只要有Index就可以一个个参考使用。就是说跟UV的2D坐标一起,再有一个Index就可以。TextureArray的优点是,不会跟TextureAtlas一样需要一直合并和修改UV,只要根据 Mesh设置Index就可以很容易操作。而且不管贴图的数量是多少, material 可以维持一个的状态所以很便捷。但是要用在Unity有几个缺点。因为不支持Asset生成,所以很麻烦,显示的GUI在Unity内部也是不支持的。为了使用起来方便,需要亲自编辑代码。当然直接生成也没关系,但考虑生产效率的问题就不是很好了。而且Shader代码也要亲自替换,有很多需要设置的地方。所以很贵。 现在适用到 Unity 里看下。 需要做的有三件事。 把Mesh 里的简单的2D UV坐标 换成持有(UV + Texture Index)坐标的3D坐标。 生成TextureArray并适用 在Shader 代码里使用TextureArray ,把 UV 坐标换成3D坐标。 *有关例子做好附上了,想参考的人请看下。 替换UV坐标根据情况不同,一般是设置成了2D UV坐标,只考虑程序的合并工作的话,添加可以给每个Mesh插入相应的Texture Index的component比较好。 只在刚开始的时候修改UV 信息就可以了,所以除了加载时间变长和占用更多的GPU 容量外,没有其他问题。担心初期的加载时间的话,添加在编辑器就可以了。参考例子里因为是刚开始的时候全部生成,所以把储存成 Vector2 的 UV坐标换成Vector3 ,插入了Texture Index。 TextureArray部分的操作最复杂。在component动态生成是最好的,但这种方法每次都要修改component所以更复杂。所以看参考例子就能知道,做了简单的做好lapping的assets。但还有一点很复杂, 生成后不能在编辑器里修改贴图数量和其他一些东西,所以几种条件中有一条出问题就要重新生成。这样和material的连接就会断了,,这是非常头疼的问题。

开发皮肤着色器的注意事项。 2019版本。

Abstract… objectVarious considerations for the development of skin shaders for OpenGL 3.2 or higher devices released in the generation after 2019. SubjectUsing Dual Lobe Skin Shader and Blurry Normal.Hardware Test phase by context. What is the dual lobe specular?双镜叶高光(dual lobe specular)为最终结果提供两个个别specular lobe的粗糙度值。他们结合在一起为实现优秀的皮肤表现提供高质量的子像素的微弱频率,从而表现自然的视觉效果。<— epic games认为。 其实这部分已经从2013年开始使用并被大家所知,只是在Epik Games 2018年发表的时候更强调了而已。 Softer Lobe Tighter Lobe Combined Lobes 简单来说,丰富自然的皮肤表面的specular只用一个specular去控制的话有点勉强。虽然跟Clear Coat…

Tile Based Deferred Rendering

Written by JP.Lee心动的 Technical Art team leader. Immediate ModeRendering (IMR) 把三角形Rasterizing,以像素(pixel)为单位进行Shading的传统方式。三角形通过流水线及时移动。耗电以及浪费memory bandwidth(Early Visibility Test功能:为了使用这个功能,三角形要以序列的方式进入。因此,应在应用部分将三角形进行分类(sorting)。 Tile BasedRendering (TBR) 在Embedded中成本最高的是内存的读写。内存的读写与电量和memory bandwidth密切相关。所以在Embedded中最有效的优化方法之一是减少内存访问的次数。TDR度为了取代以前使用的将在IMR中的可见三角形挑选出来的Z-buffer(depth buffer)而研发的方法。将要渲染的画面分成许多tile,以tile为单位进行rasterization。(根据不同的系统情况,存在同时移动的tile。但是不是所有的三角形都能及时通过流水线进行移动。)(每一次划分tile的时候,硬件会创建包括各tile在内的有关Geometry列表的指针。使得各个tile在进行渲染的时候,都可以获取相关的Geometry buffer。)这样不使用z-buffer,改用tile进行处理的话,只使用在system-memory上的intermediate buffer 就可以解决了。 Tile BasedDeferred Rendering (TBDR) TDR的改良版本。在TDR里也可以对看不见的部分进行Shading或贴图(Texture Mapping)。在TBDR中,GPU里面通过分类找出三角形排列顺序,可以去掉不可见的部分)这个方法称为Hidden Surface Removal (HSR)。因为去掉了没有意义的三角形.,比起TBR,更充分地利用了memory bandwidthTBDR的优点如下1. 因为没有Z-buffer,内存利用率更高2. 没有Z-buffer访问,减少开销3. 不用担心渲染顺序,可以正确的处理半透明效果。(blending效果). Alpha Blending 和 Alpha Test Alpha Blending(Alpha Blending) VS Alpha Test(Alpha Test)在传统Desktop Game使用的锂材料,比起Alpha Blending,更建议使用Alpha Test。在不透明的情况下,像不透明的铁丝网,撕裂的衣料,比起用成本高的blending进行计算,不如使用Alpha Test,同时也可以省去像素计算的步骤。但是在Mobile Game中,刚好与此相反,比起Alpha Test,更推荐使用Alpha Blending。…

About mobile SOC

Written by JP.Lee心动的 Technical Art team leader. 与PC游戏开发不同的是,Mobile device的硬件种类繁多,差异较大。 对于我们而言,最重要的是积累开发Mobile device的经验。 例如,进行各种硬件优化,QA 和QT,以及整个开发工程中不可或缺的Automatic build system,还有为了让绘图颜色看起来更美观的各种Shader技术。 这一章主要介绍了游戏策划人员,艺术家,游戏图形程序员,游戏引擎开发人员应该具备的相关知识。 普通AP的架构 AP原来是指用电池驱动的,专门为Mobile Embedded Computing设计的CPU。早期,其安装在notebook/netbook/UMPC和PDA等便携式PC上。现在,AP(Application Processor)安装在智能设备的SoC上,已经成为了mobile process的代名词。 AP 包括了CPU和GPU核心,其运行操作系统和应用程序,具有control附近Chipset的function。▶一般而言,AP由CPU,处理2D/3D图形的GPU,ISP(Image Signal Processor),multi format video codec, 运行audio and voice recognize processing的DSP,以及各种interface IP等组成。 CPU是运行操作系统和中介软件,应用软件(Application SW)的中央处理器。现在,ARM公司的Cortex-A处理器是市场上的主流产品。 GPU支持OpenVG, OpenGL ES等图形语言和library。Imagination Technologies公司的PowerVR和ARM公司的Mali是具有代表性的GPU IP产品。为了支持种类繁多的多媒体Codec的运行,例如H.264, MPEG2, DivX, Xvid等,其与负责专用硬件IP和控制的处理器同时运行。 Mobile AP的演变 首先要了解引起Mobile Graphic变化的原因,我们一起来思考一下这个问题。 我们通常把Mobile AP理解为安装在我们现在使用的智能设备(Smart Device)上的综合处理器。如果将设备比作人体的话,Mobile AP起到的作用如同人体的大脑,心脏和肌肉。 与2011年相比,2012年Smart phone…

Lineage2m Unreal Engine Announcement of use cases.

Written by JP.Lee心动的 Technical Art team leader. Epic game UnrealSubmit 2019 . Lineage2m UnrealEngine Announcement of use cases. NC SOFT. Presentation: Jonghyun Kim, Client General Manager. Theorem: JP.Lee summary. Observe the contents and organize the context more easily. Using Lineage 2M Unreal Engine4. This was announced before the completion of development. I hope you will…

VECTOR REJECTION DERIVATION

VECTOR REJECTION DERIVATION Written by JP.Lee心动的 Technical Art team leader. VECTOR REJECTION 制作 Vector Rejection 函数。 Shader forge 里有 Vector rejection 内置函数。 但是 Amplify shader editor 里没有,所以要用 Custom expression 制作 my Vector rejection function 来使用。https://en.wikipedia.org/wiki/Vector_projection​en.wikipedia.org Vector projection formula (向量投影公式) 2D vector 投影公式。 Vector投影是两个Vector中的一个投影(投射)到另一Vector上。 这里说的投影是什么意思呢? 从Vector的观点来看,是把一个Vector移到另一个Vector表现出来。 可以简单的比喻成影子。在外面我们可以看到阳光照射在我们身上产生的影子。 如果我们的身体是Vector a 地面是Vector b,影子就是投影到b上的a。 假设阳光跟地面是直角。(通常叫直交投影) Vector Rejection a2 是从Vector a…

Create maxscript threads by separating them

Create maxscript threads by separating them Written by JP.Lee心动的 Technical Art team leader. Max脚本通常表现为单线程。 因此,如果您有大量计算,则必须等待一会儿才能运行。 或者,您不能同时激活多个功能。 如果您通过分离线程来工作,则可以解决上述情况。 线程分开意味着您可以单独使用CPU的内核。 这是通过利用Windows支持的DotNet功能来完成的。 仅仅因为您可以分离线程并不意味着您可以对所有代码进行多线程处理。 但是,任何影响Max的区域都可能由于线程摄入它而引起问题。 这是一个冲突。 例如,我在线程A中创建了一个盒子,但线程B删除了它,但是线程A再次找到了该盒子 可能会发生这种情况,如果可能,最好单独使用这些功能。 它应用于与Max一起使用的其他功能,或用于完全独立的功能,例如使用Max-script连接到网络。 Max-script typically behaves as a single thread. So if you have a lot of computation, you’ll have to wait a little while to run. Or you can’t activate multiple functions…

Create and apply virtual lighting vectors.

Create and apply virtual lighting vectors. JP.LeeSummary. When working on demand related to mobile game rendering, it is often impossible to perform complex lighting processing due to hardware performance.However, artists’ demand continues to increase.In particular, there are times when it is necessary to correct information that has been subjected to static lighting (BakedLighting).I’m going to…

%d 블로거가 이것을 좋아합니다: