unity如何实现图片透视 您所在的位置:网站首页 游戏透视 unity如何实现图片透视

unity如何实现图片透视

#unity如何实现图片透视| 来源: 网络整理| 查看: 265

导语

本文仅限于技术交流,旨在阐述ESP与AimBot的原理,帮助更多游戏开发者学习防范ESP与AimBot的方法。

前言

自从1993年的FPS神作——毁灭战士发行以来至今,FPS(第一人称射击)游戏的热度从未衰减。随着网络游戏的飞速发展,FPS多人在线游戏的代表——绝地求生、Apex等大逃杀类游戏在吸引到越来越多玩家。由于FPS游戏的安全性问题,这类游戏也受到了黑色产业的“青睐”,Extra Sensual Perception(简称ESP,意为透视)与AimBot(自动瞄准)便是这其中的产物。

 ESP和AimBot两种功能从实现细节上有很大差别,前者是3D坐标与2D坐标的变换问题,后者只涉及到简单的角度计算。当然,这些知识对于游戏相关专业的同学来说,应该早已驾轻就熟了,笔者就不费太多篇幅来论述了。本文完全以初等数学的知识为基础,向读者阐述ESP和AimBot的原理。

1.AimBot(自动瞄准)原理及实现

AimBot,通俗来讲,就是使发射器(通常为枪械)精确地瞄准要射击的目标(通常为人类,载具等可攻击对象)。即,使弹道穿过要射击的目标(在忽略重力等因素的理想情况下)。

所以,要使发射器精确地瞄准要射击的目标,就需要修改游戏内存中的弹道数据。

要达到目的,需要解决两个问题:

1.      弹道在游戏内存中的表现形式是怎样的?

2.      如何计算正确的弹道?

2.FPS射击弹道的表现形式

弹道,即子弹飞行的轨迹,在早期的FPS游戏中弹道就是一条直线。但是,在一些追求真实感的军事模拟游戏中,弹道受到重力影响从而由直线变成弧线。在目前大多数网游FPS中,弹道仍然是一条直线。

在一些经典的游戏引擎中,如Source引擎,用欧拉角(Euler Angles)来表示弹道。许多新一代游戏引擎,如Unity,用四元数(Quarternion)来表示弹道。在某些游戏公司自主研发的游戏引擎中,弹道用弧度或向量来表示。

欧拉角和四元数在游戏中是用来表示角度或向量等信息,四元数可以通过欧拉角计算而得。四元数弥补了欧拉角的局限性,解决万向节死锁 (Gimbal Lock)的问题。相比四元数,欧拉角在表示和运算上更为直观。 

3.计算正确的弹道

81d9e7f657dfc5b0e094b523e3eaf773.png

 图1

观察图1,假设这样一个场景,你将要使用一把7.62mm口径的AKM自动步枪去射击一个僵尸,蓝色箭头Z代表AKM的弹道。

假设AKM的位置固定,忽略重力等因素,要使AKM的弹道穿过僵尸,需要以下两个步骤:

1.      调



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有