问题标签 [2.5d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 画布上的透视图
今天我带来一个关于伪3D和透视的主题。
我正在查看视频#1 Java Classical 3D Rendering Tutorial:Creating 3D World,他使用了一种渲染伪 3D 天花板和地板的方法。我试图找到一些教程或他使用的方法的名称,但我没有找到。我看到了算法,但不清楚理解。我开始搜索透视图形(消失点、地平线……),但我得到的独特之处是静态绘图。我想应用一个错觉移动将相机放在计划内并移动它。下面跟随一个关于我想做的透视地板和天花板的例子。
这只是一个图像,但我的第一个问题是:“我真的可以在这种环境中移动相机,比如旋转和移动 x 轴和 y 轴?”。我试图在画布上制作 2 个消失点,为每个 15º 度创建线条,我得到了透视错觉,但我找不到进行旋转或运动的方法。在那个视频中,我看到像素只使用绿色和蓝色来创建二维,但我想使用线条来制作它,以了解它是如何工作的。
没有一个地方可以一步一步地教如何用动作来制作透视图。我没找到。我用视频的方法查看了Java 3D游戏制作者和Markus Person创建名为“前奏曲”的游戏的视频,但我没有找到这个渲染之王的解释。
假设我必须使用网格创建一个计划。我必须在线条中应用的逻辑是如何创建运动的?我真的很想了解制作这种伪 3D 的逻辑,而不使用框架或类似的东西。谢谢你帮助我!我会等待你的答复。
我检查了一些关于 SNES 模式 7 的信息。我认为这是一个很好的方法。我只需要了解它是如何工作的,以及如何进行旋转。
** 注意:我不为它使用光线投射。我将使用光线投射来创建墙壁。
c# - 如何修复Unity中的“'GameObject'类型的对象已被破坏,但您仍在尝试访问它”错误?
我正在使用 C# 在 Unity 中创建一个 2.5D 格斗游戏。目前,我正在尝试让玩家周围出现一个保险杠,并在一段时间后消失。我已经设法让保险杠出现和消失一次,但是在那之后,当我尝试让保险杠再次出现时,Unity 对我有一个错误:“'GameObject' 类型的对象已被破坏,但你仍在尝试访问它。”
根据“Brackeys”关于 2D 拍摄的教程,我尝试使用“实例化”和“销毁”命令。在论坛上也关注了一些关于同一问题的问题之后,我再次更改了我的代码,但问题仍然存在。
是firePoint
一个空对象,从中实例化 BumperPrefab。
}
我希望游戏对象“BumperPrefab”会出现,停留 0.2 秒然后消失。我应该可以重复多次,但实际发生的是我只能这样做一次,然后出现错误“'GameObject'类型的对象已被破坏,但您仍在尝试访问它”出现了,我不能让 BumperPrefab 再次出现。
任何帮助深表感谢!
animation - Windows 合成 API 是否支持 2.5D 投影旋转?
我已经开始在 UWP 应用程序中使用 Windows 组合 API 来为 UI 的元素设置动画。
视觉元素公开 RotationAngleInDegrees 和 RotationAngle 属性以及 RotationAxis 属性。
当我围绕 Y 轴为矩形对象的 RotationAngleInDegrees 值设置动画时,矩形会按预期旋转,但在 2D 应用程序窗口中,它似乎没有显示为 2.5D 投影。
有没有办法使用组合 api 获得旋转的 2.5D 投影效果?
opencv - 如何从单个 PNG 中分离大小为 8 和 16 的两个位图
我有来自 SICK Trispector 深度激光扫描仪的图像。图片格式为PNG。SICK 称之为 Trispector 2.5D PNG。根据 SICK 的文档,这些图像包含反射数据和深度数据。但 SICK 不会提供有关如何在不使用其或合作伙伴的软件的情况下使用这些数据的信息。本质上,我需要的是深度数据。反射数据可能很好,但不是必需的。我得到的结果图像是单色的。图像顶部似乎有反射数据,底部有重叠高度数据。扫描的对象是一箱带瓶盖的啤酒瓶。你可以在这里看到一个例子:
我尝试在许多不同的图像查看器中打开图像并查找有关 2.5D 的信息,但它似乎与此无关。在 Matlab 图像预览中,我分别获得了高度数据的一侧,但我不知道如何使用这些信息。从 Matlab 预览中查看以下图像:
有谁知道如何从这样的图像中推断高度数据?可能有人以前用过 SICK 的 SOPAS 或 SICK 扫描仪,了解这种 SICK 称之为“2.5D PNG”的格式。OpenCV 解决方案会很好。
编辑:正如@DanMašek 评论的那样,问题在于将两个不同位深度的图像从一个PNG 中分离出来。他提供了对该问题的进一步洞察,并提供了一个出色的 OpenCV 解决方案,用于将强度和深度图像分别分离为 8 位和 16 位:
python - 是否有任何工具或算法可以将 3D 点云转换为 2.5D 图像?
我正在寻找一种在 Python 中将 3D 点云转换为深度图像的算法,尤其是 3D 人脸点云。你能给我一些工具或算法吗?提前致谢。
c# - 玩家在半空中冲刺后几乎无法控制角色
我现在正在开发一个 2.5D 播放器控制器,但我在半空中的仪表板有问题。破折号有效,但在破折号完成后,角色无法在 X 轴上完全控制,直到他们撞到地面。我希望玩家在破折号后立即完全控制 X 轴,以便他们可以适当地躲避。
任何关于代码优化的提示也非常感谢。我对编码还很陌生,我宁愿在必须改掉坏习惯之前学习适当的编码习惯。谢谢!
python - 校正鱼眼效果 2.5D
我正在制作像 Wolfenstein 3D 这样的 2.5d 光线投射引擎。我需要帮助来纠正鱼眼效应。我了解正在发生的事情,并做了自己的数学来尝试摆脱它,但它并没有完全摆脱这种影响:“n *= math.cos(fish_eye/(180/3.1415))” n 是欧几里得距离和 fish_eye 从 45 到 0 到 45(90 度 FOV)“/(180/3.1415)”是从度数转换为弧度。当你离得更远一点时,鱼眼看起来还不错,但当你靠近时,你很难判断它应该是 3D 的。
这是我写的代码(请不要告诉我它有多糟糕,我完全没有做任何事情来让它更快或更漂亮):
我看过很多溢出的帖子,但要么我无法理解它们,要么它不起作用。
这是一张照片:
如果你愿意,你可以将上面的代码复制并粘贴到 pycharm 或其他代码运行器中。只要记住安装所有导入(:
python-3.x - 相机与 y 轴的角度水平旋转
我目前正在使用 pygame 创建一个 persudo 3D 道路,并且我正在尝试将 y 轴上的相机从 0 度旋转到 360 度。但是当与 y 轴的相机角度大于 90 度时,我在屏幕上看到的图像会翻转,向前移动实际上会导致相机向后移动......
我对 180 角度的期待是相机“背后”的东西,而这不是我得到的。
这是我用来投影和旋转世界的代码,我的猜测是我的数学在某个地方是错误的,因为 sin/cos 的属性,但我找不到导致问题的原因......
只有相机的 Y 角与 0 不同。对于道路,我只存储一个点 - 所以对于道路的每一部分,我都在投影一个点。