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绘制不规则图形边框相关推荐

  1. css绘制不规则图形

    CSS绘制不规则图形 在实际开发中,经常会遇到绘制图形(图标)的需求,比如:箭头图表.不规则图形.规则图形: 常见方法 对于图形的实现,可以大体上分为几种做法 (1) 背景图片,请UI小姐姐帮你吧-- ...

  2. Fabricjs在Canvas上使用路径Path绘制不规则图形

    场景 Fabricjs在Canvas上插入照片并设置缩小和翻转属性: Fabricjs在Canvas上插入照片并设置缩小和翻转属性_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的 ...

  3. html怎么设置不规则图形,CSS3绘制不规则图形的一些方法示例

    前言 CSS 创建复杂图形的技术即将会被广泛支持,并且应用到实际项目中.本篇文章的目的是为大家开启它的冰山一角.我希望这篇文章能让你对不规则图形有一个初步的了解. 现在,我们已经可以使用CSS 3 常 ...

  4. Three.js - 绘制不规则图形(二十)

    Shape 形状 通过路径来绘制二维形状平面.简单理解就是在一个平面上用不规则的线连接成一个图形. 想在three.js中展示需要使用ExtrudeGeometry,ShapeGeometry来生成几 ...

  5. CSS3绘制不规则图形(一)

    由于近期的项目中出现了不规则的边框和图形, 所以只好提前先温习一下,以前收集的一些CSS3绘制的图形...样式绘制的图形比图片的性能要好,体验更佳. 废话不多说,我们直接看效果: 1.三角形系列(三角 ...

  6. SVG动态绘制不规则图形

    作者简介 wuyue 蚂蚁金服·数据体验技术团队 在浏览器中,任意的二维平面图形均可以通过path路径的形式描述.然后底层api 直接静态绘制出来.但是如果想动态的绘制路径,浏览器是没有直接支持方式的 ...

  7. canvas绘制不规则图形,点击获取当前图形索引

    canvas给不规则图形添加点击事件 有这么一个需求,把传过来的四个坐标,连成一个图形(可能是规则的,也可能是不规则的),点击某个图形,显示当前这个图形的信息 //数据格式 dataList: {lo ...

  8. ios 绘制不规则 图形

    最近才知道有一个软件 paintcode 它可以根据画出的图形自动的生成对应的 OC 代码  不用UI切图 我们也可以用代码实现自己想要的图形效果 使用教程可以百度:paintcode教程 http: ...

  9. android 实现绘制不规则图形,Android贝塞尔曲线实现填充不规则图形并随手指运动...

    贝塞尔曲线: 贝塞尔曲线于1962,由法国工程师皮埃尔·贝塞尔所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计.贝塞尔曲线最初由 Paul de Casteljau 于 1959 年运用 de Ca ...

最新文章

  1. 笔记本电脑滑条无法连接synaptics定点装置驱动程序
  2. Solaris的syslog机制
  3. 01ts简介和相关配置
  4. hdu 1558(线段相交+并查集)
  5. TeX 家族(TeX, pdfTeX, XeTeX, LuaTeX, LaTeX, pdfLaTeX, XeLaTeX …)
  6. 最全面 Nginx 入门教程 + 常用配置解析
  7. Imagine开源图片压缩程序源码
  8. Java byte类型转换成int类型时需要 0XFF的原因
  9. C++中Future和Promise的一种简单实现
  10. Python+matplotlib自定义坐标轴位置、颜色、箭头
  11. 轻芒 CEO 王俊煜:高品质内容是核心,小程序是它的最好载体
  12. 移动端click事件延迟300ms到底是怎么回事,该如何解决?
  13. Sevlet处理HTML表单
  14. linux拷贝数据库文件夹,手工拷贝数据库文件建立新的数据库实例过程
  15. 高阶篇:4.1.2)QFDII(设计要求逐层分配给各零件)
  16. java nekohtml_用过nekohtml的进来
  17. 5G常见缩略语大全收藏
  18. 《华为基本法》-笔记
  19. 2022QS世界大学学科排名出炉,计算机学科有哪些信息值得关注?
  20. thinkphp 实现新订单语音提醒功能

热门文章

  1. 【科学文献计量】知识单元文献时间序列分析
  2. 不用动手就能清洁美白你的牙齿,360°无死角微笑一百分丨钛空智慧星球推荐
  3. 一加手机怎么样?一加9 Pro超群屏幕实力再次引领高刷标准
  4. MATLAB数字图像处理系统-形状分类
  5. python控制手机屏幕亮度的软件,通过adb操作安卓亮屏、设置背光亮度、解锁、打开app...
  6. iPhone也能一键完成录音转文字,堪称会议神器!老板看了都称赞
  7. 追女生攻略:吸引女生的几个技巧点是什么?
  8. 微信号视频下载方法 求
  9. 【疯狂世界杯】css 动画实现跳动的足球
  10. 微信机器人 DIY【Python 】