1
1
找到屏幕上某个给定点上的对象称为拾取。 Here's an XNA link 对于你来说,这应该给你一个例子。我们的想法是从二维点中提取游戏中的三维点,然后使用标准的碰撞检测方法来确定哪个对象占用了这个空间。然后您可以选择以不同的方式呈现该对象。 如果你在选择方法上遇到困难,一个可能足够的方法是将角色渲染一次作为场景的一部分,然后在半阿尔法结束时在所有内容上再次渲染。这样你就可以看到整个角色和墙壁,尽管你看不到这样的墙壁。 |
2
3
这是个好计划。您将希望在播放器上加入某种边界体积,这样整个播放器(加上一点额外的)随时可见。然后,只需为边界体积的每个角运行交集算法。 |
3
1
一个简单的方法,至少对于原型来说,就是总是画出玩家 之后 你画剩下的场景。这将确保在场景中的任何其他内容之上渲染播放器。粗糙但有效。 |
4
1
创建从相机到播放机范围的边界体积,确定哪些对象与该体积相交,然后以所需的其他样式渲染它们? 可能有一些非常聪明的方法可以做到这一点,但这看起来是非常简单的版本,不应该太高的性能命中(你可能正在做碰撞每帧无论如何…) |
5
0
我能想到的最简单的一点是,用一个垂直于地面的平面(假设你有一个地面)来模拟所有障碍物,大致假设所有障碍物都是一堵有一定高度的墙。 在某个地方把你的播放器建模为一个点,把你的相机建模为另一个点。连接这两个点的三维线位于一个对你特别有趣的平面上,因为如果这个平面与障碍物高度以下的“障碍物平面”相交,这意味着障碍物阻碍了你对玩家点的看法。 希望有点清楚。要使其成为一种算法,您必须实现一种确定两个平面相交位置的通用方法(以确定障碍物是否足够高以阻挡视图)。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |