在Unity中创建不同区域的最佳方式?

时间:2015-12-02 19:03:43

标签: unity3d unity5

这是我的演示lvl,在搅拌机中制作:

enter image description here

将其视为两个平行的墙壁,玩家可以“穿过”它们,随时离开并进入隧道

我想要的是,在玩家身上有一面旗帜,......玩家在隧道内? = true .. outside = false。并且标志始终更新

所以我心里很少有解决方案..我会列出它们..我是一个初学者,我认为必须有一个比我想象的更好的方法。所以忍受我

光线投射......在隧道中散布着多个节点,特别是在角落处......如果玩家可以在最近的节点上进行光线投射,而光线不会先撞到墙上......那么他就在里面.. .. 好吧,这可能有很多问题..不需要列出所有问题:D

2-触发区..在隧道周围有巨大的立方体网格。一旦玩家离开区域网...他被标记在外面.. 伟大的,除了它不准确,因为墙是弯曲的地狱:D。

3-在隧道墙之间绘制一个平面..如在地板上......如果玩家位于该特定平面的顶部。然后他就在隧道里面 事情是,我不打算做一个地板..但如果我必须。那就是它

4-在墙壁上和墙内画出一系列低分辨率的立方体..并使它们充当三角形..所以每次玩家穿过墙壁时,他都会穿过它们,它们会触发......我可能必须在每一侧有两条平行列车..弄清楚,玩家是否真的离开隧道,或进入隧道

我知道它是一个非常基本的问题,但我认为我可以比我之前提供的解决方案做得更好:( 感谢

1 个答案:

答案 0 :(得分:0)

您可以使用解决方案2,触发器可以重叠并具有不同的形状(框,球体)。这样您就可以获得更准确的隧道信息。

由于性能问题,Aways尝试避免网格碰撞。

以防万一:

http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerEnter.html

http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerExit.html