Unity使用bounds绘制不规则图形边框
Unity使用bounds绘制不规则图形边框
for (int i = 0; i < screenList.Count; i++)
{
if (screenList[i].activeSelf == true)
{
Bounds bounds = screenList[i].GetComponent().mesh.bounds;
float x = bounds.size.x * screenList[i].transform.localScale.x;
// float y = bounds.size.y * screenList[i].transform.localScale.y;
float z = bounds.size.z * screenList[i].transform.localScale.z;
//计算矩形框顶点位置
Vector3 leftUp = new Vector3(bounds.center.x - x / 2, 0, bounds.center.z + z / 2);
Vector3 rightUp = new Vector3(bounds.center.x + x / 2, 0, bounds.center.z + z / 2);
Vector3 rightDown = new Vector3(bounds.center.x + x / 2, 0, bounds.center.z - z / 2);
Vector3 leftDown = new Vector3(bounds.center.x - x / 2, 0, bounds.center.z - z / 2);
//旋转后的矩形框顶点
Vector3 lur = RotateRound(leftUp, screenList[i].transform.position, Vector3.up, screenList[i].transform.rotation.eulerAngles.y);
Vector3 rur = RotateRound(rightUp, screenList[i].transform.position, Vector3.up, screenList[i].transform.rotation.eulerAngles.y);
Vector3 rdr = RotateRound(rightDown, screenList[i].transform.position, Vector3.up, screenList[i].transform.rotation.eulerAngles.y);
Vector3 ldr = RotateRound(leftDown, screenList[i].transform.position, Vector3.up, screenList[i].transform.rotation.eulerAngles.y);
//平移后的矩形框顶点
Vector3 lu = new Vector3(lur.x + screenList[i].transform.position.x, 0, lur.z + screenList[i].transform.position.z);
Vector3 ru = new Vector3(rur.x + screenList[i].transform.position.x, 0, rur.z + screenList[i].transform.position.z);
Vector3 rd = new Vector3(rdr.x + screenList[i].transform.position.x, 0, rdr.z + screenList[i].transform.position.z);
Vector3 ld = new Vector3(ldr.x + screenList[i].transform.position.x, 0, ldr.z + screenList[i].transform.position.z);
//显示矩形框
Debug.DrawLine(ld, lu, Color.green);
Debug.DrawLine(ld, rd, Color.green);
Debug.DrawLine(ru, lu, Color.green);
Debug.DrawLine(ru, rd, Color.green);
}
///
/// 围绕某点旋转指定角度
///
/// 自身坐标
/// 旋转中心
/// 围绕旋转轴
/// 旋转角度
///
private Vector3 RotateRound(Vector3 position, Vector3 center, Vector3 axis, float angle)
{
return Quaternion.AngleAxis(angle, axis) * (position - center) + center;
}
Unity使用bounds绘制不规则图形边框相关推荐
- css绘制不规则图形
CSS绘制不规则图形 在实际开发中,经常会遇到绘制图形(图标)的需求,比如:箭头图表.不规则图形.规则图形: 常见方法 对于图形的实现,可以大体上分为几种做法 (1) 背景图片,请UI小姐姐帮你吧-- ...
- Fabricjs在Canvas上使用路径Path绘制不规则图形
场景 Fabricjs在Canvas上插入照片并设置缩小和翻转属性: Fabricjs在Canvas上插入照片并设置缩小和翻转属性_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的 ...
- html怎么设置不规则图形,CSS3绘制不规则图形的一些方法示例
前言 CSS 创建复杂图形的技术即将会被广泛支持,并且应用到实际项目中.本篇文章的目的是为大家开启它的冰山一角.我希望这篇文章能让你对不规则图形有一个初步的了解. 现在,我们已经可以使用CSS 3 常 ...
- Three.js - 绘制不规则图形(二十)
Shape 形状 通过路径来绘制二维形状平面.简单理解就是在一个平面上用不规则的线连接成一个图形. 想在three.js中展示需要使用ExtrudeGeometry,ShapeGeometry来生成几 ...
- CSS3绘制不规则图形(一)
由于近期的项目中出现了不规则的边框和图形, 所以只好提前先温习一下,以前收集的一些CSS3绘制的图形...样式绘制的图形比图片的性能要好,体验更佳. 废话不多说,我们直接看效果: 1.三角形系列(三角 ...
- SVG动态绘制不规则图形
作者简介 wuyue 蚂蚁金服·数据体验技术团队 在浏览器中,任意的二维平面图形均可以通过path路径的形式描述.然后底层api 直接静态绘制出来.但是如果想动态的绘制路径,浏览器是没有直接支持方式的 ...
- canvas绘制不规则图形,点击获取当前图形索引
canvas给不规则图形添加点击事件 有这么一个需求,把传过来的四个坐标,连成一个图形(可能是规则的,也可能是不规则的),点击某个图形,显示当前这个图形的信息 //数据格式 dataList: {lo ...
- ios 绘制不规则 图形
最近才知道有一个软件 paintcode 它可以根据画出的图形自动的生成对应的 OC 代码 不用UI切图 我们也可以用代码实现自己想要的图形效果 使用教程可以百度:paintcode教程 http: ...
- android 实现绘制不规则图形,Android贝塞尔曲线实现填充不规则图形并随手指运动...
贝塞尔曲线: 贝塞尔曲线于1962,由法国工程师皮埃尔·贝塞尔所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计.贝塞尔曲线最初由 Paul de Casteljau 于 1959 年运用 de Ca ...
最新文章
- Leetcode 98. 验证二叉搜索树 解题思路及C++实现
- MyEclipse 2017汉化版安装教程
- N - Dragon Balls(并查集+深度的意义
- mipi和isp处理_图像信号处理 (ISP) 流水线
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(七)
- Vagrant 手册之 Provisioning - file 配置程序
- 【优化预测】基于matlab布谷鸟算法优化灰色模型预测【含Matlab源码 1244期】
- android wakelock权限,android - 当我使用PowerManager.WakeLock与AlaramManager android时的权限异常 - 堆栈内存溢出...
- python中的zen原则到底是什么
- 外文参考文献去哪找和下载?
- echarts 力导向图
- 真实原创,记录程序员的艰辛生活-接私单记1
- 程序员也要学英语——印欧语音变规律总结
- 手机自动识别软件项目举例
- Gradle教程和指南 - 构建审视
- 激光雷达的厮杀18年:西方“诸神黄昏”,东方“新王隐现”
- 数据库:MySQL 修改密码
- app闪退之-- GL error: Out of memory!
- 混合开发Android FlutterActivity 的透明状态栏
- 无线通信模块定点传输-点对多点的具体传输应用
热门文章
- 华为、小米等国产手机持续降价,迫使苹果不得不跟风降价抢市
- python php web 大流量_PHP解决网站大数据大流量与高并发
- 回溯算法及其剪枝优化修改----学习笔记
- 美团在本地生活终于迎来了真正对手
- MySQL 查看表结构简单命令。
- CSerialPort串口类最新修正版2017-03-12
- Python计算一组数据的PDF(概率密度函数)方法
- B站发布二季度财报:月活用户同比增长55%,品牌传播持续破圈
- 暴走大侠找不到服务器了,暴走大侠报错如何解决?游戏报错解决方法图文分享...
- 昨天写了这些骚代码,今天上班差点被同事揍了