如何在 Unity 中从 3D 对象中获取 2D 视图/纹理

Posted

技术标签:

【中文标题】如何在 Unity 中从 3D 对象中获取 2D 视图/纹理【英文标题】:How to grab the 2D views/textures from a 3D Object in Unity 【发布时间】:2020-12-10 13:29:48 【问题描述】:

我正在从事一个投影映射项目,并且正在使用 Unity 3D 进行原型制作。我有一个类似立方体的物体,里面有 3D 地形和人物。

为了重新创建 3D 透视图并感觉我正在使用两台投影仪,它们将投影在与 Unity 对象完全相同的真实世界对象中。为此,我需要从 Unity 中的形状中提取 2D 视图。

有没有简单的方法来实现这个?

【问题讨论】:

您是否正在寻找 Unity 中的 RenderTexture 功能?教程很多,而且很简单。希望有帮助! 谢谢,我去看看。上面的图像是我想要的。投影到一个真实的现实世界对象上。我将看看如何从每一侧获取纹理视图。 Leon,实际上很不清楚你要问什么具体。什么是“现实世界对象”?您所描述的只是 3D 对象上的纹理,对吗?您可以将纹理设置为任何您想要的。拍摄一棵树的照片,然后显然将其用作 3D 引擎中树形的纹理,这是完全正常的。也许您应该更清楚、更具体地解释您要做什么! 小胖。我想统一设计一个物体,比如一个立方体,里面有森林——一个 3d 场景。在现实世界中,我想制作物理统一对象。我希望外部物理领域对象看起来像里面有森林的统一对象。我不确定如何用投影仪重现这种效果是真实的。如果我在真实世界中投影这些二维图像,我会考虑统一虚拟化。 恐怕您的问题与计算机编程或本网站无关。您在询问 3D 全息显示器的最新技术,您可以轻松地在谷歌上搜索。例如,lookingglassfactory.com 【参考方案1】:

有趣的项目。听起来您需要多个显示器,每个投影仪一个,每个都在 Unity 中使用单独的虚拟摄像头,如文档中的 there。

不确定我是否从上面的描述中正确理解了您的概念。如果观众应该能够在立方体周围走动,渲染的虚拟场景应该投射到该立方体上,那么还需要跟踪观众的头部/眼睛以实现令人信服的 3D 效果。虚拟场景需要从虚拟空间中的匹配点进行渲染(仅适用于一个观众)。否则,视角只会从真实空间中的一个点“正确”。

这种效果也只能在立体视图中令人信服,无论是使用快门眼镜还是类似的东西。当从场景外部投影到立方体上时,阴影是另一个问题。如果只使用两台投影仪,同时投影到立方体的多个侧面时,您还需要校正透视失真。

作为灵感:还有 Johnny Chung Lee 的这个奇妙实验,演示了 head tracking technique using the Wii Remote,它可能对像您这样的投影映射项目很有用。

(为了真正解决这个问题,最好使用 AR 眼镜而不是传统的投影仪,因为传统的投影仪内置了投影仪,并使用允许多个观众同时观看的特殊投影表面(如 @987654323 @)。但我不知道,如果这些设备已经在市场上销售...... - 但是,我看到了不使用特殊设备的简单投影映射的吸引力。在这种情况下,可能会远离现实3D 场景,并使用更多实验性/抽象图形,投影到立方体上...)

【讨论】:

非常感谢您的详细回复。感谢您的帮助! 不客气,祝你的项目好运!投影映射很有趣,还有很多有趣的事情可以用圆顶做,也许这也是值得研究的事情(paulbourke.net/dome - Paul Bourke 的很多关于圆顶投影映射的好资源)。

以上是关于如何在 Unity 中从 3D 对象中获取 2D 视图/纹理的主要内容,如果未能解决你的问题,请参考以下文章

在 Unity3d 中从 iphone 加载图像

在unity3d(2d)中碰撞后忽略物理

unity3d开发2d游戏中Assetbundle有啥作用

unity2021的sprite在哪

unity2d如何判断高度

如何评价cocos creator,与unity比的优劣势