我想知道为什么很少有3D游戏有机制允许玩家在地图上飞行,并在喜欢的时候降落。在3D游戏中实现这个功能很难吗,还是在技术上不可行?
有两个原因:
Position TeleportHere = {10, 10};
Player.Position = TeleportHere;
将额外的动画加入只为从点A到点B没有意义。
从游戏玩家的角度来看,这取决于游戏设计师。如果他们想要飞行,就可以做到,并且程序员会编写相关机制(当然还需要动画效果)。
如果你想让玩家自由飞行,那么这些技巧就不可能实现。你必须把一切都做完整。这意味着世界的设计师和建筑师要付出双倍的努力。我想你可以想象,在期限驱动的开发中,游戏公司非常渴望尽可能缩短时间。
在游戏世界中,建筑物通常只有一个或两个外墙被定义。这是因为在正常的游戏条件下,不可能看到建筑物的其他侧面。通过不定义多边形,优点如下:
我想这就像问为什么游戏中有不能打开的门?为什么不在游戏世界中建模每个建筑物的每个房间?这适用于赛车游戏吗?
在游戏原始区域(即玩家飞行引入之前建造的区域)中,你不能随意飞行,因为这些区域并不是为了让玩家飞行而设计的,除了交通系统提供的预设路线外,设计师们自己也指出了景观使用了其他地方提到的一些技巧(2D广告牌等)。
在第一个扩展包中,德鲁伊需要达到68级,其他职业需要达到70级才能飞行;在最新的扩展包中,需要达到77级。这是一个有意的选择,以确保玩家不会“跳过大量内容的区域”。
ESF是半条命中的DBZ模组,实现了飞行角色(如DBZ角色一样飞行!)
这个模组是由一群爱好者制作的,不受任何公司支持(据我所知),并且它在Half-Life 1引擎上运行(按今天的标准相当老),
因此肯定没有技术困难。