keras 中adam

Are you curious about how Oats Studios created such high-fidelity sets, characters and costumes in real time for ADAM: The Mirror and ADAM: Episode 3? Read our in-depth, behind-the-scenes blog posts on lighting, Alembic support, clothing simulation, Timeline, shaders, real-time rendering and more.

您是否对Oats Studios如何为ADAM:《镜子》ADAM:第3集实时创建如此高保真的布景,角色和服装感到好奇? 阅读有关照明, Alembic支持 , 服装模拟 , 时间轴 ,着色器,实时渲染等的深入的幕后博客文章。

My name is Jean-Philippe Leroux, and I am a senior technical artist specialized in lighting on the Made with Unity team. I have nearly 15 years of experience in lighting and spent 13 of those at Ubisoft Montreal where I dedicated many years to the lighting development of the Watch_Dogs brand. My role in the production of the ADAM shorts was as a technical advisor, supporting Oats Studios’ lighting artists who were intent on achieving some very impressive effects in real time.

我的名字叫让·菲利普·勒鲁(Jean-Philippe Leroux)。 我在照明方面拥有近15年的经验,在育碧蒙特利尔工作了13年,在其中我致力于Watch_Dogs品牌的照明开发多年 。 我在ADAM短裤的制作中担任的技术顾问是为Oats Studios的照明艺术家提供支持,这些艺术家致力于实时实现一些非常令人印象深刻的效果。

项目背景 (Project background)

The ADAM: The Mirror and ADAM: Episode 3 shorts were my first projects for Made with Unity. The production had already started when I began consulting with Oats Studio in July 2017. I enjoyed a smooth collaboration with the Oats team, including Youngbin Eun, Nathaniel Holroyd and Abhishek Joshi (lighting artists), Jim Spoto (Unity lead) and Chris Harvey (VFX supervisor). I worked remotely with them via Perforce until October and I also spent a week with them at their studio, the coolest “man cave” I’ve ever seen.

ADAM:镜子ADAM:第3集短裤是我制作的Unity的第一个项目。 当我于2017年7月开始向Oats Studio咨询时,生产已经开始。我与Oats团队(包括Youngbin Eun,Nathaniel Holroyd和Abhishek Joshi(照明艺术家),Jim Spoto(统一负责人)和Chris Harvey( VFX主管)。 我一直通过Perforce与他们进行远程合作,直到10月份为止,我还在他们的工作室度过了一个星期,这是我见过的最酷的“人间洞穴”。

在ADAM中做好准备:照明基础知识 (Setting the stage in ADAM: Lighting basics)

Unity supports a large number of platforms, which also means there is a wide choice of lighting workflows. For a high-fidelity cinematic project like ADAM, some of Oats’ basic choices were quite obvious.

Unity支持大量平台,这也意味着照明工作流的选择范围很广。 对于像ADAM这样的高保真电影项目,燕麦的一些基本选择非常明显。

To start, Oats set Color Space to Linear. This is always the first thing I set up in a new project, as it’s actually essential for proper lighting calculations. The only reason you would not use this color space would be if your target platforms are lower-tier devices that can’t support it.

首先,燕麦将颜色空间设置为线性。 这始终是我在新项目中设置的第一件事,因为它对于正确的照明计算实际上至关重要。 您不使用此色彩空间的唯一原因是,如果目标平台是不支持该色彩空间的较低层设备。

They set their Rendering Path to Deferred. Not only did this allow Oats to use some cool rendering techniques like screen-space reflections, it greatly simplified their lighting workflow by letting them use any number of lights, which is especially important for set lighting, since much of it has huge geometry.

他们将“ 渲染路径”设置为“延迟”。 这不仅使Oats可以使用一些很酷的渲染技术(例如屏幕空间反射),而且还可以通过允许它们使用任意数量的光源来极大地简化其照明工作流程,这对于设置照明尤为重要,因为其中很多具有​​巨大的几何形状。

For Tonemapping, Oats chose ACES from Unity’s Post-Processing Stack. ACES is the standard developed by the television and film industries as the common ground for all image sources. It provides an important natural-looking contrast that modern television thrives on, and it also correctly preserves the whites from clipping.

对于Tonemapping ,Oats从Unity的Post-Processing Stack中选择了ACES 。 ACES是电视和电影业开发的标准,是所有图像源的共同基础。 它提供了现代电视盛行的重要的自然对比效果,并且还正确地保护了白人免于裁剪。

Since a big part of the ADAM films is “humanizing” the characters, proper tonemapping is a crucial step in the look development (the art of conveying emotion to a character through lighting, shaders, etc.). Additionally, tonemapping will actually define how you light and expose your shots. (Good news, the next Post-Processing Stack release will let you create your own tonemapping curve.)

由于ADAM电影的很大一部分是对角色进行“人性化”,因此正确的色调映射是外观开发(通过照明,着色器等将情感传达给角色的艺术)中至关重要的一步。 此外,色调映射实际上将定义您如何照明和曝光镜头。 (好消息,下一个后处理堆栈版本将使您可以创建自己的色调映射曲线。)

A scene in ADAM: Episode 3 with and without tonemapping

ADAM中的一个场景:第3集,带有和不带有音调映射

全球照明(GI)的重要性 (The importance of Global Illumination (GI))

Without a doubt, Precomputed Realtime GI was a key choice for this project. It allowed Oats the proper light bounce since all their shots used dynamic lights for the characters and the sun position was also tweaked shot by shot. Together, the sun and dynamic lights gave them the indirect lighting input they were after.

毫无疑问, 预计算实时GI是该项目的关键选择。 它使燕麦获得了适当的光反射,因为它们的所有镜头均使用动态光作为角色,并且太阳位置也逐帧调整。 太阳和动态灯光共同为它们提供了所需要的间接照明输入。

(First, a bit of background. If you’re not that familiar with real-time GI and are considering using it for one of your own projects, I highly recommend that you invest a few hours going through this great tutorial: Introduction to Precomputed Realtime GI. This is a must-read for every artist or developer as it will help you produce really high quality lighting effects and save you many hours of iterations.)

(首先,要有一些背景知识。如果您对实时GI不那么熟悉,并且正在考虑将其用于自己的项目中,我强烈建议您花一些时间来学习这个出色的教程: Precomputed Introduction实时GI 。这是每个艺术家或开发人员必读的内容,因为它将帮助您产生真正高质量的照明效果,并节省大量的迭代时间。)

Back to ADAM . . . One caveat of Unity’s real-time GI solution is that only directional light shadows are supported. All other light-source shadows are not considered in the calculation, so they pass through every object and wall. Because of that limitation, for example, we had to find a way to contain the GI created by the bright lights inside The Mirror’s room. Oats employed a very simple trick to achieve this. They used emissive planes culled from the camera view that was contributing to the GI, without leaking light outside the room.

回到ADAM。 。 。 Unity实时GI解决方案的一个警告是仅支持定向光影。 计算中未考虑所有其他光源阴影,因此它们会穿过每个对象和墙壁。 由于这种限制,例如,我们必须找到一种方法来容纳由《镜报》房间内的明亮灯光创建的地理标志。 燕麦采用了一个非常简单的技巧来实现这一目标。 他们使用了从摄像机视野中挑选出来的,有助于GI的发射平面,而没有将光泄漏到室外。

The disposition of camera-culled emissive planes in the room

在房间内布置摄像头选择的发射平面

Solving the dynamic GI issue with emissive planes in The Mirror’s room

用《镜房》中的发射平面解决动态GI问题

Perforce问题会暂时降低团队的工作速度 (A Perforce problem slows the team down temporarily)

During development, a problem arose when Oats started pushing updated versions of the GI to their Perforce server: everyone on the team was losing the GI and receiving error messages. It turns out the default Perforce configuration caused an unexpected issue. While LightingData.asset are binary files, by default they were being treated as text files by the Perforce server, which corrupted them when they were integrated into the depot. To put production back on track, Oats corrected the configured filetype assigned to .asset and rebuilt the GI, making sure the files were submitted as binaries since they already existed in the depot as text files.

在开发过程中,Oats开始将GI的更新版本推送到其Perforce服务器时出现了一个问题:团队中的每个人都在丢失GI并收到错误消息。 事实证明,默认的Perforce配置导致了意外的问题。 虽然LightingData.asset是二进制文件,但是默认情况下,Perforce服务器将它们视为文本文件,当它们集成到软件仓库中时会损坏它们。 为了使生产恢复正常,Oats更正了分配给.asset的配置文件类型并重建了GI,确保文件已作为二进制文件提交,因为它们已作为文本文件存在于软件仓库中。

处理新的太阳姿势 (Handling new sun positions)

Another issue Oats noticed was seeing pops every time the sun position changed. Oats designed their lighting per-camera shot, like they would on a normal film production. This meant that modifying the position of the sun, shot by shot, would require a full update of the Realtime GI solution. Unfortunately, even with Realtime GI CPU usage set to Unlimited, the update was not ready in time when the first frame of a new shot was drawn, making a noticeable pop at every sun position change. To compensate, Oats improvised a temporary solution: In a higher Timeline Director, we added, shot by shot, a two-frame buffer that wasn’t output by the Frame Recorder. Good news: Unity 2017.2 now handles this automatically using the DynamicGI.IsConverged command in the Frame Recorder.

Oats注意到的另一个问题是,每当太阳位置改变时,都会看到爆裂声。 燕麦设计了每台相机拍摄的照明,就像在正常的胶卷制作中一样。 这意味着要一次又一次地修改太阳的位置,将需要对Realtime GI解决方案进行全面更新。 不幸的是,即使将Realtime GI CPU的使用率设置为Unlimited,在绘制新镜头的第一帧时更新仍未及时准备就绪,因此在每次太阳位置变化时都会产生明显的弹出声。 作为补偿,Oats临时提出了一个解决方案:在更高的时间轴导演中,我们逐帧添加了帧记录器未输出的两帧缓冲区。 好消息:Unity 2017.2现在使用Frame Recorder中的DynamicGI.IsConverged命令自动处理此问题。

Here you can see where we added two frames between cuts

在这里您可以看到我们在剪切之间添加了两个帧的位置

使用Alembic缓存 (Working with alembic caches)

“Now that Unity’s added alembic support – it’s a super key bridge for us. We need it to be able to cache large geometry datasets.” – Chris Harvey, VFX Supervisor, Oats Studios Alembic caches, which Oats used for their cloth and facial simulations, are effectively meshes. In ADAM, they sit at the origin of the world and they evaluate the GI probes as such. To ensure everything was handled properly, Oats simply set the “anchor override” renderer probe to the character’s pelvis. By doing so, the probes are properly evaluated based on the character’s position in the set, not by the pivot point of the cache. You can learn more about Alembic support in ADAM by reading Sean Low’s blog post.

“现在,Unity增加了对Alembic的支持–对我们来说,这是一座超级钥匙桥。 我们需要它能够缓存大型几何数据集。” –燕麦工作室VFX主管克里斯·哈维(Chris Harvey)Alembic缓存实际上是网格,燕麦用于其布料和面部模拟。 在ADAM中,他们位于世界的起源地,因此对GI探针进行评估。 为了确保正确处理所有内容,Oats只需将“ anchor Override”渲染器探针设置到角色的骨盆即可。 这样,将根据角色在集合中的位置(而不是通过缓存的枢轴点)正确评估探针。 通过阅读Sean Low的博客文章,您可以了解有关ADAM中Alembic支持的更多信息 。

Setting the Anchor Override

设置锚覆盖

采用动态贴花 (Employing Dynamic Decals)

In the third ADAM episode, keep your eyes peeled for some cool graffiti, pebbles, dirt and other details. To add these, Oats pulled many goodies from the Dynamic Decals asset package. However, it didn’t initially work well when they introduced the real-time GI, because the decals didn’t get properly illuminated, appearing really dark in the shadows. In deferred rendering, these effects are written to the buffer via the reflection pass before the GI is resolved. The problem occurred because we used the Skybox for the Environment light. If you use gradient or color, don’t worry – you won’t encounter this issue. Oats’ solution was to write its own ambient override for the Dynamic Decals and tweak the values until they matched as closely as possible, using a Lambert sphere and a custom DecalAmbient shader sphere.

在第三次ADAM情节中,睁开眼睛,观察一些酷涂鸦,鹅卵石,污垢和其他细节。 为了增加这些内容,Oats从Dynamic Decals资产包中提取了很多东西。 但是,当他们引入实时GI时,它最初并不能很好地工作,因为贴花没有得到适当的照明,在阴影中显得很暗。 在延迟渲染中,在解析GI之前,这些效果会通过反射过程写入缓冲区。 发生问题是因为我们将“天空盒”用于“环境”灯。 如果您使用渐变或颜色,请不要担心–您不会遇到此问题。 Oats的解决方案是使用Lambert球体和自定义的DecalAmbient着色器球体为Dynamic Decals编写自己的环境替代,并调整值,直到它们尽可能接近为止。

Oats’ custom Decal Ambient Override vs a Lambert sphere

燕麦的自定义贴图环境覆盖与兰伯特球体

正确处理阴影 (Getting the shadows right)

As you probably know, shadows are hugely important when we talk about the quality of light. And, to be honest, it’s an area that hasn’t seen enough functional breakthroughs in the last decade. Nevertheless, ADAM’s lighting quality comes from a good understanding and mastering of the currently available techniques. First, a little background: All lights should cast shadows and those should be fully opaque, but many developers use shadow transparency thinking it will fill the shadowed area, when in fact it breaks the lighting continuity because lighting is still directional and the back faces will remain dark. See below how once Oats used GI to fill shadowed areas, the need for shadow transparency was alleviated, giving excellent results.

如您所知,当我们谈论光的质量时,阴影非常重要。 而且,老实说,在过去的十年中,这个领域的功能性突破还不够。 尽管如此,ADAM的照明质量来自对现有技术的充分理解和掌握。 首先,要有一点背景:所有的灯光都应该投射阴影,那些灯光应该完全不透明,但是许多开发人员使用阴影透明度,认为它会填充阴影区域,而实际上这会破坏照明的连续性,因为照明仍然是定向的并且背面会保持黑暗。 参见下面的内容,一旦燕麦使用GI填充阴影区域,对阴影透明度的需求就会减少,从而获得出色的效果。

Note the difference between shadow strengths of 0.8 and 1

注意阴影强度为0.8和1之间的差异

Oats also really boosted the shadow quality using a simple modification to the spotlight shadow filtering. They pushed PCF filtering to 7×7 resolution by overriding the internal deferred shading. If you want to try this trick, note that it only works for spot: point light shadows don’t benefit from it. Another Unity 2017.1 feature that Oats took advantage of was custom shadow resolution per light, which you can find on the Inspector debug tab. The resolution must be a power of two and is capped at 8k. If you’re going to try this, be careful when using high-resolution shadow maps. Higher resolutions do not equal better quality. The higher you go, the crisper your shadow will be – but that is not what you normally want to achieve because it basically means going in the opposite direction of the high quality provided by area lights. Always remember that light quality equals soft shadow and wide specular. Here you can see the difference between shadow resolution and filtering at different settings in ADAM.

燕麦还通过对聚光灯阴影过滤的简单修改,确实提高了阴影质量。 他们通过覆盖内部延迟阴影将PCF过滤推至7×7分辨率。 如果您想尝试此技巧,请注意,它仅适用于点光源:点阴影不会从中受益。 燕麦利用的另一个Unity 2017.1功能是每盏灯的自定义阴影分辨率,您可以在“检查器”的“调试”选项卡上找到。 分辨率必须为2的幂,并且上限为8k。 如果要尝试此操作,请在使用高分辨率阴影贴图时小心。 更高的分辨率并不等于更高的质量。 您走得越高,阴影就会越清晰-但这不是您通常想要实现的效果,因为它基本上意味着朝着与区域光提供的高质量相反的方向前进。 始终记住,光质量等于柔和阴影和宽镜面反射。 在这里,您可以看到阴影分辨率和ADAM中不同设置下的过滤之间的区别。

The impact of shadow resolution vs filtering: Default PCF 3×3 (left) and PCF 7×7 (right)

阴影分辨率与过滤的影响:默认PCF 3×3(左)和PCF 7×7(右)

正确调整阴影偏向 (Getting shadow bias right)

Setting the shadow bias properly was key for Oats. They wanted their shadows to be connected but without causing acne. In Unity, spotlight shadow bias is enmeshed with the clip plane value. To ensure a perfect connection, they needed to push it as close as possible to the subject. A good starting point for character lighting is around two units. Check out the effect below.

正确设置阴影偏差是燕麦的关键。 他们希望将阴影连接起来,但又不引起粉刺。 在Unity中,聚光灯阴影偏斜与裁剪平面值相交。 为了确保完美的连接,他们需要将其尽可能靠近主体。 角色照明的一个好的起点大约是两个单位。 查看以下效果。

Proper shadow bias settings (0.005, 0.1, 5) vs default bias settings (0.05, 0.4, 0.2)

正确的阴影偏差设置(0.005、0.1、5)与默认偏差设置(0.05、0.4、0.2)

设置级联 (Setting cascades)

Similarly, the cascade distribution settings of the directional lights had to be authored shot by shot, which Oats did using a Timeline custom track. As well, they tapped the SE Screen-Space Shadows package for some amazing shadow-quality enhancements. By pairing it with the Cascade Shadow Map (CSM), they got perfect contact shadows that the best bias settings in the world could not achieve.

类似地,必须逐个镜头地创作定向灯的级联分布设置,Oats使用时间轴自定义轨道来完成。 他们还利用SE Screen-Space Shadows软件包进行了一些惊人的阴影质量增强。 通过将其与级联阴影贴图(CSM)配对,他们可以获得完美的接触阴影,这是世界上最佳的偏置设置无法实现的。

A scene from ADAM with and without Screen-Space Shadows

来自ADAM的带有和不带有屏幕空间阴影的场景

使用时间轴进行逐张照明 (Using Timeline for shot-by-shot lighting)

Once the lighting lookdev was approved for a sequence, Oats broke it apart in Timeline, enabling them to easily do shot-by-shot adjustments. They basically duplicated the lookdev lighting rig for each shot and activated it via Timeline. Since using the basic Switch Active track will overpopulate Timeline, Oats created a custom Switch Active Asset clip that allowed them to activate two groups of light per clip, all on the same track. That kept it clean and simple.

照明lookdev被批准用于序列后,Oats在时间轴中将其分解,从而使他们可以轻松进行逐帧调整。 他们基本上为每个镜头复制了lookdev照明设备,并通过时间轴将其激活。 由于使用基本的Switch Active轨迹会占用时间线过多,因此Oats创建了一个自定义的Switch Active Asset剪辑,使它们可以为每个剪辑激活两组灯光,并且全部都在同一轨迹上。 这使它保持简洁。

Oats’ custom Switch Active Asset setup

燕麦的自定义开关活动资产设置

Organizing their lighting per shot let Oats do small adjustments without the risk of impacting any other shots. If you’re going to try this, I strongly recommend using a clean naming convention that follows your shot numbers and group ordering. This will make you more efficient and will greatly help others working with you, as Oats found.

每次射击都可以组织照明,因此Oats可以进行少量调整,而不会影响其他任何射击。 如果要尝试这样做,我强烈建议您使用清晰的命名约定,该约定应遵循您的射门次数和组排序。 正如Oats发现的那样,这将使您效率更高,并将极大地帮助其他人与您合作。

Shot-by-shot breakdown of a lighting sequence in Timeline

时间轴中照明序列的逐项分解

You can learn more about Timeline in ADAM by reading Sean Low’s blog post.

您可以通过阅读Sean Low的博客文章了解有关ADAM中时间轴的更多信息 。

完美控制守时灯 (Getting perfect control over punctual lights)

Early in production, Oats expressed the need for better control over punctual lights. Specifically, they wanted more control over the falloff and the spread of the lights. John Parsaie, a Made with Unity software engineer, created an asset for them that takes advantage of the Cookie slot. As a bonus, this gave Oats curve control over both parameters and a smoothness clamp. The cool thing was that all the lights were still contributing to GI and reflections.

在生产初期,Oats表示需要更好地控制守时灯。 具体来说,他们希望对灯光的衰减和散布进行更多控制。 由Unity制作的软件工程师John Parsaie为他们创建了一项利用Cookie插槽的资产。 另外,这使Oats曲线可以同时控制两个参数和平滑度。 最酷的是,所有的灯光仍在为地理标志和反射做出贡献。

A custom script gave Oats better control over attenuation and falloff

自定义脚本使燕麦可以更好地控制衰减和衰减

添加闪烁的灯光 (Adding flickering lights)

To achieve the dynamic, realistic look for ADAM’s fires and flares, Oats created a comprehensive script that provided light position, intensity, and hue modulation. This script really added to the fidelity of these combined visual effects. They attached it to an empty object and it propagates to all lights and FX children.

为了使ADAM的火灾和耀斑具有动态,逼真的外观,Oats创建了一个全面的脚本,该脚本提供了灯光位置,强度和色相调制。 该脚本确实增加了这些组合视觉效果的保真度。 他们将其附着到一个空的物体上,并传播到所有灯光和FX子级。

Light Fire Flicker: Oats’ script to set position, intensity, and hue modulation

轻火闪烁:燕麦脚本可设置位置,强度和色相调制

The result was also visible in the Scene view, which is always great when developing looks. We ran into a small glitch with this one though — it initially prevented the baking of cube maps and GI to complete. Once we realized that the script was causing the problem, we simply used another command to disable all the flickering in the scene at bake time.

结果在“场景”视图中也可见,这在开发外观时总是很棒的。 但是,我们遇到了一个小故障-最初阻止了多维数据集映射和GI的烘焙完成。 一旦意识到脚本导致了问题,我们只需使用另一个命令来禁用烘烤时场景中的所有闪烁。

哪里有烟,哪里有火 (Where there’s smoke, there’s fire)

Burning up the night sky: The opening of The Mirror

燃烧夜空:《镜报》的开幕

When ADAM: The Mirror begins, a series of very impressive oil fires provide a lot of drama and tension in the scene. Will the prisoners succumb to the “heat” as they proceed through a deadly night-time landscape? Many people want to know how Oats accomplished this impressive effect. According to Stephen Cooney at Oats, they combined a number of cool industry tricks and did a lot of layering: We used animated texture atlases for most of the fire elements. We generated some in Houdini and we also used some stock Unity texture atlases. Fire was treated as “heat” in the texture and then remapped in the shader to any intensity and graded with a power curve.

当《 ADAM:镜子》开始时,一系列令人印象深刻的油火在场景中提供了许多戏剧性和张力。 囚犯穿越致命的夜间景观时,他们会屈服于“热度”吗? 许多人想知道燕麦是如何实现这种令人印象深刻的效果的。 根据Oats的Stephen Cooney的说法,他们结合了许多很酷的行业技巧,并进行了很多分层: 我们对大多数火元素使用了动画贴图集。 我们在Houdini中生成了一些图片,还使用了一些库存的Unity纹理地图集。 火在纹理中被视为“热量”,然后在着色器中重新映射为任意强度,并使用幂曲线进行渐变。

(L) Looping ground fire made in Houdini (R) Frame-to-flame flowmap (relatively low detail works well for this)

(L)用Houdini制作的环形地面火(R)框架到火焰流程图(相对较低的细节对此效果很好)

We combined this with a tiling detail fire texture to add extra grit. After the final “heat” was calculated this was remapped between two colors (one for cool, one for hot). We used optical flow maps to smoothly blend between frames. This was useful for the large plume fire atlas that had only a few frames. The smaller fire comprised very long (but smaller resolution) texture atlases, while the plume component was a very low frame-count but high-resolution explosion (flow maps made this easy). We did the large plumes as a combination of the small ground-fire elements with the large plume puffs tacked on.

我们将其与平铺细节火纹理相结合,以增加额外的粒度。 在计算出最终的“热量”之后,将其重新映射为两种颜色(一种表示冷色,一种表示热色)。 我们使用光流图在帧之间平滑融合。 这对于只有几帧的大型羽状火图集很有用。 较小的火场包含很长(但分辨率较低)的纹理地图集,而羽流分量是帧数很少但分辨率较高的爆炸(流程图使此过程变得容易)。 我们将大烟羽与小地面火力元素和大烟团结合在一起。

An explosion texture used for plume (red for heat, green for lighting) and its flowmap

用于羽流的爆炸纹理(红色表示热量,绿色表示照明)及其流程图

We achieved a major part of the look by managing the visualization order manually. Also, since the fire was treated as “heat” and then remapped to actual values (with the detail texture on top), it made it much easier to get visually appealing levels of brightness. These play well with Unity’s Post-Processing System without the need to revisit the texture. Oats’ particle lighting system, which enables particles to look lit (useful for smoke), helped us tie the various particle systems together. Because the light could be animated, the smoke’s brightness would follow and the ground would take the same brightness. We also used this for the flare in order to “light” the smoke. Basically, it allowed our emissive particle systems to have a way to connect to the custom diffuse systems.

我们通过手动管理可视化顺序实现了外观的主要部分。 此外,由于将火视为“热量”,然后重新映射为实际值(顶部有细节纹理),因此可以更轻松地获得视觉上令人瞩目的亮度。 这些在Unity的后处理系统中可以很好地运行,而无需重新访问纹理。 燕麦的粒子照明系统使粒子看起来很亮(对烟雾很有用),帮助我们将各种粒子系统结合在一起。 因为可以对灯光进行动画处理,所以烟雾的亮度会随之变化,而地面会呈现相同的亮度。 我们还将其用于火炬,以“点燃”烟雾。 基本上,它使我们的发射粒子系统能够连接到自定义扩散系统。

A dystopian campfire: ADAM prisoners listening to Needalus explain who they are

反乌托邦篝火:ADAM囚犯在聆听Needalus的讲话时解释了自己是谁

最后的思考 (Final reflections)

This project was a great introduction for me into the Made with Unity world as I collaborated with an accomplished team of lighting and graphics experts who were creating lifelike CG shorts in our off-the-shelf game engine. I think that over the course of the project, Oats proved that Unity has what it takes to deliver outstanding film-quality effects, while keeping iterations and costs down. And we learned a lot too, seeing them constantly pushing VFX and storytelling boundaries and all the imagination and hard work that requires. I’ll let Abhishek Joshi, Oats’ CG supervisor have the last word: Lighting in real time in Unity was a huge leap for us creatively. Coming from offline raytraced renders, the speed and interactivity allowed us complete creative freedom and iteration speed unheard of with a non-real-time workflow. This is the future of creating animated content.

我与一支经验丰富的照明和图形专家团队合作,在我们现成的游戏引擎中制作逼真的CG短裤,因此,该项目对我来说是对Unity制作世界的一个很好的介绍。 我认为,在整个项目过程中,Oats证明了Unity可以提供出色的电影品质效果,同时又可以降低迭代次数和降低成本。 我们也学到了很多东西,看到他们不断推动视觉特效和讲故事的界限,以及所有需要的想象力和辛勤工作。 我要让燕麦的CG主管Abhishek Joshi拥有最后的话: 在Unity中进行实时照明对我们而言是创造性的巨大飞跃。 来自离线的raytraced渲染,其速度和交互性使我们能够实现非实时工作流所没有的完全的创作自由和迭代速度。 这是创建动画内容的未来。

了解有关Unity的更多信息 (Learn more about Unity)

Find out how Unity 2017 and its features like Timeline, Cinemachine, Post-Processing Stack, and real-time rendering at 30 FPS help teams like Oats Studios change the future of filmmaking.

了解Unity 2017及其时间轴,电影机,后处理堆栈和30 FPS实时渲染等功能如何帮助Oats Studios等团队改变电影制作的未来。

翻译自: https://blogs.unity3d.com/2017/12/07/lighting-tips-tricks-in-the-adam-films/

keras 中adam

keras 中adam_ADAM电影中的照明技巧和窍门相关推荐

  1. Flash中的电影艺术之镜头技巧

    Flash中的电影艺术 好像这里的文章大部分是关于AS的,其实flash很大一部分是用不到AS的,正好我手头有一本包含flash和传统动画内容的书,以前曾经给了我很大的帮助,抄录了部分内容,希望也能有 ...

  2. keras 中adam_ADAM中的渲染和着色:第3集

    keras 中adam Have you seen ADAM: The Mirror and ADAM: Episode 3 yet? These two short films have capti ...

  3. FLASH镜头技巧 Flash中的电影艺术

    Flash中的电影艺术 摘自: www.maya.la Flash动画与卡通制作创意导航 好像这里的文章大部分是关于AS的,其实flash很大一部分是用不到AS的,正好我手头有一本包含flash和传统 ...

  4. 还原黑客电影中那些Hacking技术的真相

    图源来自geralt <我是谁 – 没有绝对安全的系统>主人公本杰明通过将自己DIY的设备放置目标公司,用诺基亚将上网的数据转发,最后攻破公司内网服务器. <幽灵>中的主人公通 ...

  5. Windows XP系统中实用的命令及操作技巧

    Windows XP系统中实用的命令及操作技巧 转贴自:电脑报 想在命令提示符窗口中输入重复命令时,只须按F7键,就会出现图形界面,然后选择你想输入的命令即可. 一"符"安天下利用 ...

  6. AR实践:基于ARKit实现电影中的全息视频会议

    作者简介:龚宇华,声网Agora.io 首席iOS研发工程师,负责iOS端移动应用产品设计和技术架构. 去年中旬,苹果在 WWDC2017 推出了 ARKit.通过它,开发者可以更加快速地在 iOS ...

  7. AI看电影看哭了...MIT科学家正在教AI感受电影中的喜怒哀乐

    翻译 | AI科技大本营(rgznai100) 参与 | 么广忠 虽然我们都知道人工智能(AI)特别火,但AI究竟能做什么了不起的事情呢?要是问AI能不能写出一本畅销的书,目前的答案是不能,显然AI目 ...

  8. 使用CV2和Keras OCR从图像中删除文本

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 介绍 本文将讨论如何快速地从图像中删除文本,作为图像分类器的预处理 ...

  9. 敲代码就是一把梭_2020必看!开发五年的大佬日常工作中所使用的java代码技巧...

    前言 罗列工作中实际使用的一些代码技巧或者叫工具类;知识无大小,希望大家都有收获 实用技巧 rpc服务出参统一化 什么,出参统一化有什么好说的????? 我不知道你们有没有遇到过多少五花八门的外部服务 ...

最新文章

  1. 私有属性可以被继承吗_妻子可以代位继承吗?
  2. 注册中心 Eureka 源码解析 —— 应用实例注册发现(五)之过期
  3. 拨云见日—深入解析Oracle TX 行锁(上)
  4. Ubuntu下Qt中使用pcl库
  5. powershell cs上线_BasUSB实现后台静默执行上线CobaltStrike
  6. Eclipse下搭建Android的NDK开发环境
  7. Python二维数组,坑苦了
  8. 华为的CPU怎样才能卖掉
  9. 在ashx文件中使用Session
  10. 如何防御sql注入?
  11. python当前运行目录_Python获取运行目录与当前脚本目录的方法
  12. 个人计算机架构和相关的设备组件
  13. poi导出数据到word,带图片且图片数量不确定(能确定数量范围,这里是3-20张)
  14. Q2新财报,腾讯音乐寻找下一程
  15. mysql 民族表_我国西北地区藏族.蒙古族等民族的藏传佛教格鲁派中心是(        )。...
  16. Android翻页效果
  17. 伊人在线高清视频 index.php,《天元》“畅音阁”首发飞行技能视频
  18. Matlab下地形图绘图包m_map绘图包绘制高分辨率海岸线、国界线与河流
  19. 【汇智学堂】-JS菜鸟版过河小游戏(之九---修改bug)
  20. wedo设计课程的思路

热门文章

  1. 生成排列(全排列)的两种写法
  2. Mac切换docker镜像源
  3. 学大伟业:在数学竞赛学习中,你属于哪种类型?
  4. app中我的页面头像及背景效果实现
  5. iOS 图片裁剪(用户头像裁剪)
  6. rotation的单位是角度
  7. U盘插入提示使用驱动器光盘之前需要格式化
  8. 大数据基础——知识汇总
  9. 小学期助教感受-Funcode游戏编程
  10. 全闪存助攻:数据存储迎来又一个“新元年”