unity检测范围内敌人_Unity实现视野范围外死亡敌人的分数显示在屏幕内
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test01 : MonoBehaviour
{
Transform cam;//相机物体
Vector3 pos;
// Start is called before the first frame update
void Start()
{
pos = transform.position;
cam = GameObject.FindWithTag("MainCamera").transform;
}
// Update is called once per frame
void Update()
{
Vector3 offset = pos - cam.position;//相对相机的偏移位置
Vector3 camSize = new Vector3(1.51f*(1920f/1080f)-0.2f, 1.51f-0.2f,0);//相机的宽度和高度的一半尺寸,这里假设相机的高度一半为1.51
camSize = camSize - new Vector3(0.2f, 0.2f, 0);//在坐标在屏幕外时,让自己在屏幕内离边缘一段距离0.2
//判断是在屏幕内还是屏幕外
bool isInCam = (Mathf.Abs(offset.x) < camSize.x) && (Mathf.Abs(offset.y) < camSize.y);
//如果是在屏幕内,那么坐标位置等于自己的坐标位置
//如果是在屏幕外,那么坐标位置在屏幕边缘
if (isInCam) {
transform.position = pos;
}
else {
float x=pos.x;
if (Mathf.Abs(offset.x) > camSize.x) x = Mathf.Sign(offset.x) * camSize.x + cam.position.x;
//x = x + -Mathf.Sign(offset.x) * 0.2f;
float y = pos.y;
if (Mathf.Abs(offset.y) > camSize.y) y = Mathf.Sign(offset.y) * camSize.y + cam.position.y;
//y = y + -Mathf.Sign(offset.y) * 0.2f;
transform.position =new Vector3(x, y, 0);
}
}
//判断是在屏幕内还是屏幕外
//如果是在屏幕内,那么坐标位置等于自己的坐标位置
//如果是在屏幕外,那么坐标位置在屏幕边缘
private void OnDrawGizmos()
{
//Gizmos.color = Color.red;
//float x = 1920f / 1080f;
//Gizmos.DrawCube(transform.position, new Vector3(1.51f * (1920f / 1080f), 1.51f, 0) * 2);
}
}
unity检测范围内敌人_Unity实现视野范围外死亡敌人的分数显示在屏幕内相关推荐
- 向外张扬的人在做梦,向内审视的人才最清醒
借用张萌萌姐公众号的一句话来开始今天的分享:向外张扬的人在做梦,向内审视的人才最清醒.白岩松说:"毁掉一个人最好的方式,就是让他追求完美和达到极致."年轻的时候觉得要把每一件事情都 ...
- 外网win10 64位环境下 为内网win7 32位安装三方包的最靠谱手段:python64位、32位全安装。...
经过一周的各种折磨,如题.以下是我的经验和教训. 我的外网是win10 64位,内网环境win7 32位.由于未知原因,anaconda无法安装!!! 其实最靠谱的安装三方包的还是whl包.但是很有可 ...
- 企增业长两的种方式:内式生增长、外式延增长
企增业长两的种方式:内式生增长.外式延增长 内式生增长三维大度:增长战略.增长机制.增长团队 外延式长增三维大度:模式.流量.资本 无不内实,不外不强! 企业增的 ...
- (转载)解决电脑同时使用有线网上内网,无线网上外网的冲突
由于内网有网络限制(限制娱乐等),所以肯定要用外网(无线网卡) 但是有的网站只能用内网访问,比如gitlab,oa等.我电脑刚开始连接了wifi后上不了gitlab,搞到每次都要关闭wifi使用内网访 ...
- Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例
Oracle数据库:oracle内连接inner join on,多表查询各种自链接.内连接.外连接的练习示例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得 ...
- 内网服务器如何提供外网远程连接访问
在局域网本地网络环境时,我们一般用远程桌面连接来访问内部windows服务器,或在个人电脑上用SSH客户端来远程访问内网的Linux主机.远程桌面连接和SSH都是系统自带的,且可以通过简单配置即可以开 ...
- 如何让你的内网服务器可以被外网访问到(端口映射、NAT、域名解析、IP地址)
众所众知,我们一般情况下是处在私有网段中,我们可以访问外网,但是外网访问不到我们.如果想要在Internet网上被访问到就需要有一个公网IP. 问题1: 什么是NAT(网络地址转换)? NAT是为了让 ...
- Unity如何调用摄像头并显示在窗口内
Unity如何调用摄像头并显示在窗口内 序言 目标 unity中的实现 序言 在学习Unity开发AR过程中,发现无论是Vuforia还是Unity中的ARkit或者ARcore,均是建立一个ARca ...
- 内网网站发布到外网-五种方法
转自:http://www.nat123.com/Pages_8_549.jsp 汇总固定公网IP.动态公网IP.内网环境无公网IP,这三种网络环境下的发布内网网站到外网的实现教程方案. 一,固定公网 ...
最新文章
- OPENGL ES 对象的拾取
- Java访问Redis
- 织梦手机网站建设 并配置二级域名
- Flask框架(flask中的请求上下文和应用上下文,以及请求钩子的使用,Flask-Script 扩展命令行)
- TCP 之 RST 原因分析
- java hashMap缓存简单实现
- AutoCAD2018/2019中文破解版,下载与激活
- OpenSSL源码分析—MD4算法实现
- 内存的管理方式有哪些
- 基于神经网络的图片风格转移小结
- 电脑网络——QQ、微信可以登录,浏览器打不开的解决方法
- 国科大学习资料--人工智能原理与算法-第七次作业解析(学长整理)
- 数据分析、数据可视化中的常用图形
- 拓嘉辰丰:拼多多订单退款流程有哪些?
- ubuntu安装和卸载软件命令
- 密码锁(春季每日一题 29)
- DR_CAN的学习笔记--1现代控制理论
- 工作不需要面试需要的红黑树知识
- 复试上机指南之小技巧篇(1)
- 一文搞懂A/B test与假设检验