gpt4 book ai didi

c# - 在 3D 场景中隐藏遮挡玩家的物体

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:30 24 4
gpt4 key购买 nike

我正在设计一款带有摄像头的 3D 游戏,与《模拟人生》中的摄像头并不完全不同,我想防止玩家角色隐藏在物体后面,包括墙壁、柱子和其他物体。

处理墙壁外壳的一种简单方法是让它们面朝内,没有另一面,但这根本无法覆盖其他外壳。

我的计划是以某种方式检查玩家“前方”相对于相机的对象,然后隐藏它们 - 无论是通过 alpha 混合还是根本不渲染。

我想到的一个可能不是很好的主意是从相机扫描到直线上的玩家,看看你是否击中了一个非隐藏的物体,一直持续到你到达玩家为止。不幸的是,我几乎是 3D 编程的新手。

Demonstration SVG illustration < 那个墙板遮住了玩家,所以它必须被隐藏起来。另一个不相关且几乎已经解决的问题是移除那一侧的所有三个墙板,这与这个问题无关,只是由我提出的映射系统引起的。

最佳答案

What I had planned is to somehow check for objects that are "in front" of the player, relative to the camera, and hide them - be it by alpha blending or not rendering at all.

这是一个很好的计划。您需要将某种边界体积合并到播放器上,以便整个播放器(加上一点额外的)始终可见。然后,简单地为包围体的每个角运行相交算法。

关于c# - 在 3D 场景中隐藏遮挡玩家的物体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1834649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com