Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

模拟人生 4:镜子

Posted on 2025-03-28

概述|技术细节|奖金

概述

本文并不包含革命性的发现,而是对镜子的一些观察,对于从未将镜子应用到游戏中的人来说可能并不完全明显。

《模拟人生 4》提供了真正有用的镜子!为此,游戏需要为场景中的每个镜子再次渲染房间。当然,这是昂贵的。

来源: 《模拟人生 4》

不错的优化:从远处看,镜子实际上没有反射任何东西!它显示静态纹理,直到我们放大得更近。然后静态纹理淡出并为实际反射腾出空间。

在你问之前:不,无限镜子是不可能的:

来源: 《模拟人生 4》

不管怎样,我真正想展示的是下一个视频,我们可以在“镜像诗句”中观察到高效的剔除。

为了让您做好观看此视频的准备:当我附加分析工具时,由于某种原因,渲染出现了故障!地板缺失,镜面房间渲染在顶部。这使我们能够看到整个镜面房间(不仅仅是我们可以通过镜面观察到的微小部分)!

我喜欢剔除工作的效率。所有角色和物体都会被快速剔除。甚至笔记本电脑的显示屏!我知道,这没什么特别的,但我喜欢看这样的东西!💘

技术细节

以下是有关镜子渲染过程的更多技术细节:

如前所述,游戏会为每个镜子再次渲染房间。以下是我可以使用我的分析工具找到的内容。渲染深度缓冲区(以及阴影贴图)后,场景将照常渲染,然后逐一渲染镜子。

来源: 《模拟人生 4》

第一个块(923)是另一个镜子,它在附近但在视野之外。

为了弄清楚哪个镜子应该显示哪个房间,游戏似乎使用了模板缓冲区(基本上是黑/白蒙版)。在使用三个镜子进行捕获时,我发现了三个模板缓冲区:

模板参考从2开始,因为当我捕捉场景中的三个可见光时,附近有另一个镜子。

我无法证明它在 Sims 4 中到底是如何工作的,但我认为它与Unity 教程中显示的非常相似:

  1. 将每个镜像表面渲染到其自己的模板缓冲区中(或者渲染到相同但具有不同 ID 的缓冲区中?)。
  2. 单独收集每个镜子的所有可见几何形状以便渲染它们,但仅限于相应镜子的模板掩模允许的情况。
来源: Unity 模板缓冲区
来源: Unity 模板缓冲区

奖金

额外观察#1

在《模拟人生 4》中,您可以隐藏内墙,以便更好地看到屋内发生的情况。但镜子仍然渲染它们并忽略这种“无墙”视图模式:

来源: 《模拟人生 4》

额外观察#2

如果我们观察模拟市民正在洗澡,我们可以看到像素化效果和淋浴本身的水粒子也反映在镜子中:

来源: 《模拟人生 4》

如果我们在“故障”处于活动状态时查看同一场景,我​​们可以观察到一些有趣的事情:模拟仅在镜子区域内像素化,粒子(来自淋浴的水/蒸汽)也是如此。我认为它们也仅限于上述模板掩模。

来源: 《模拟人生 4》

额外观察#3

我无法重现这个有趣的故障(该视频已经有 10 年历史了)。我认为这是动画系统的优化,也许现在已经修复了。但我还是想放这个视频,因为它很有趣:

来源:模拟人生 4 镜子故障

奖金示例

Marina刚刚在她的游戏中实现了一面镜子,并在我的Discord上分享了一些不错的见解。

资料来源:码头抓鱼

“对于玩家来说,它是一个相机+一个渲染目标,该目标是一个简单的四边形,带有一个在水平轴上跟随玩家的脚本,并且镜子上还有一个模板遮罩,因此四边形仅在其前面时才会出现。”

资料来源:码头抓鱼

就像在《模拟人生》中一样,我们可以在镜子中看到一堵墙,但从我们的角度来看,它实际上并不存在(否则它会挡住相机)。是怎么做到的?

“环境是镜子物体本身的简单纹理!”

资料来源:码头抓鱼

我希望您喜欢这次进入镜子世界的小冒险!
西蒙🌞

原文: https://simonschreibt.de/gat/sims-4-mirrors/

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme