[AI教做人]Unity Editor扩展区域放大缩小,-Zoom -Scale -MovePan -ReserveArea
要实现一个 2D区域看上去很简单就是根据点x,y 或者 u,v绘制那么缩放要如何做呢//缩放的关键代码绘制的关键才对 private Vector2 UVToScreen(Rect rect, Vector2 uv) { float scale uvZoom * rect.width; float x rect.x (uv.x - uvPan.x) * scale; float y rect.y (1f - (uv.y - uvPan.y)) * scale; return new Vector2(x, y); }其实也没什么号解释的数学就是这么“奇妙”我也是多年之后才懂y k * x假如你看到这个公式就头疼说明你可能不太有理工科的思维加入你看到这个公式十个直线那么上面的代码你自然而然应该能理解 绘制一个个点就相等于绘制完整个2d平面2D平面绘制不好意思没有完整代码// 并非完整代码 // 裁剪绘制区域防止超出 GUI.BeginClip(viewRect); { Rect localRect new Rect(0, 0, viewRect.width, viewRect.height); // 网格 if (showGrid) DrawGrid(localRect); // 三角形线框 if (showTriangles cachedTriangles ! null cachedTriangles.Length 3) DrawTriangles(localRect, uvs); // UV点 if (showPoints) DrawPoints(localRect, uvs); // UV [0,1] 边界框 Color boundColor new Color(0.7f, 0.7f, 0.7f, 0.9f); DrawLine(UVToScreen(localRect, new Vector2(0, 0)), UVToScreen(localRect, new Vector2(1, 0)), boundColor, localRect); DrawLine(UVToScreen(localRect, new Vector2(1, 0)), UVToScreen(localRect, new Vector2(1, 1)), boundColor, localRect); DrawLine(UVToScreen(localRect, new Vector2(1, 1)), UVToScreen(localRect, new Vector2(0, 1)), boundColor, localRect); DrawLine(UVToScreen(localRect, new Vector2(0, 1)), UVToScreen(localRect, new Vector2(0, 0)), boundColor, localRect); // 坐标标签 DrawUVCornerLabels(localRect); } GUI.EndClip();鼠标滚轮 和拖放代码1.滚轮控制Zoom 这个参数2.按下滚轮中键控制 Pan 这个参数// 滚轮缩放以鼠标位置为中心 if (e.type EventType.ScrollWheel) { Vector2 mouseUV ScreenToUV(viewRect, e.mousePosition); float factor e.delta.y 0 ? 1.15f : 1f / 1.15f; uvZoom Mathf.Clamp(uvZoom * factor, 0.1f, 20f); // 调整 pan 使鼠标下的 UV 点不变 float newScale uvZoom * viewRect.width; uvPan.x mouseUV.x - (e.mousePosition.x - viewRect.x) / newScale; uvPan.y mouseUV.y - 1f (e.mousePosition.y - viewRect.y) / newScale; e.Use(); Repaint(); } // 中键拖动平移 else if (e.type EventType.MouseDown e.button 2) { isDragging true; dragStartMouse e.mousePosition; dragStartPan uvPan; e.Use(); } else if (e.type EventType.MouseDrag isDragging) { Vector2 delta e.mousePosition - dragStartMouse; float scale uvZoom * viewRect.width; uvPan.x dragStartPan.x - delta.x / scale; uvPan.y dragStartPan.y delta.y / scale; e.Use(); Repaint(); } else if (e.type EventType.MouseUp isDragging e.button 2) { isDragging false; e.Use(); }重点还是坐标转换现在用AI就很简单了uvToSceneSceneToUV参考一例子统计区域功能 x2 个:1.统计场景中的粒子2.Editor GetRect方法粒子代码一代码二GUILayoutUtility.GetRect 的方法GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); //var serObject new SerializedObject(player); //Debug.LogError(打印 go player.name); //FindRefPrintOutGameObject(serObject); OnPlayerDetailGUI(player as GameObject);//因为红色Awake()这行代码是在这里的只要把他Wrap一层就可以了 if (selecteRectIndex cursor) { Rect sectionRect GUILayoutUtility.GetLastRect(); Color prevColor GUI.color; GUI.color new Color(1f, 0f, 0f, 0.25f); GUI.DrawTexture(sectionRect, EditorGUIUtility.whiteTexture); GUI.color prevColor;Unity插件Linefy-Scene View Extension- drawing library for editor script-绘制矢量图参考二这哥们的Editor系列写的很清楚英文https://medium.com/dilaura_exp/unity-editor-scripting-series-chapter-8-reserving-and-retrieving-rects-999bf0cc4dfc

相关新闻

高性能流媒体框架ZLMediaKit:从技术卓越到价值实现的全路径解析

高性能流媒体框架ZLMediaKit:从技术卓越到价值实现的全路径解析

高性能流媒体框架ZLMediaKit:从技术卓越到价值实现的全路径解析 【免费下载链接】ZLMediaKit WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT/STUN/TURN server and client framework based on C11 …

2026/7/29 18:08:47 阅读更多 →
AI岗位爆发式增长!普通人也能抓住的黄金机会,高薪收藏学起来!

AI岗位爆发式增长!普通人也能抓住的黄金机会,高薪收藏学起来!

本文分析了脉脉和猎聘数据,指出AI岗位尤其是应用开发岗位(占比43.8%)需求激增,薪资可观。文章强调AI岗位并非只适合博士或算法专家,普通人是B类应用开发岗位的主要机会群体,因其门槛适中、需求大、职业路径…

2026/7/29 18:07:47 阅读更多 →
CBconvert终极指南:如何免费快速转换10+漫画格式

CBconvert终极指南:如何免费快速转换10+漫画格式

CBconvert终极指南:如何免费快速转换10漫画格式 【免费下载链接】cbconvert CBconvert is a Comic Book converter 项目地址: https://gitcode.com/gh_mirrors/cb/cbconvert 还在为不同设备上的漫画格式兼容性问题而烦恼吗?CBconvert作为一款专业…

2026/7/29 18:07:47 阅读更多 →

最新新闻

如何用嘎嘎降AI处理社会学论文:社会学毕业论文降AI免费4.8元知网达标完整教程

如何用嘎嘎降AI处理社会学论文:社会学毕业论文降AI免费4.8元知网达标完整教程

如何用嘎嘎降AI处理社会学论文:社会学毕业论文降AI免费4.8元知网达标完整教程 见过太多人社会学论文降AI教程时操作错误耽误时间。这篇把正确流程写清楚。嘎嘎降AI(www.aigcleaner.com),4.8元,达标率99.26%。 操作前需…

2026/7/29 18:23:52 阅读更多 →
如何用嘎嘎降AI处理法学论文:法学毕业论文降AI4.8元知网维普达标完整操作教程

如何用嘎嘎降AI处理法学论文:法学毕业论文降AI4.8元知网维普达标完整操作教程

如何用嘎嘎降AI处理法学论文:法学毕业论文降AI4.8元知网维普达标完整操作教程 整理了法学论文降AI教程完整操作流程,踩过的坑都在里面。主推嘎嘎降AI(www.aigcleaner.com),4.8元,知网维普万方都能过。 操作…

2026/7/29 18:23:52 阅读更多 →
vivado2020.2 工程导出为tcl并rebuild(一)

vivado2020.2 工程导出为tcl并rebuild(一)

目录概要将工程导出为 TCL 的优缺点第一步:导出 TCL第二步:准备恢复文件1. 新建恢复工程文件夹2. 复制必要文件最终的文件夹结构3. 修改 TCL 文件4. 编写 rebuild.bat 代码第三步:恢复工程第四步:遗留问题概要 全部操作大致分为三…

2026/7/29 18:23:52 阅读更多 →
08-linux学习之旅之进阶sudo

08-linux学习之旅之进阶sudo

linux学习之旅之进阶sudo 一、sudo配置文件(sudoers) 1、配置文件位置 #主配置文件 /etc/sudoers#独立配置沐目录(有需要添加修改的权限可以创建在这个目录下,避免损坏源文件 /etc/sudoers.d#修改配置配置文件使用visudo命令编辑&…

2026/7/29 18:23:52 阅读更多 →
Wayback Machine浏览器扩展:你的免费网页时光机,一键拯救消失的互联网记忆 [特殊字符]

Wayback Machine浏览器扩展:你的免费网页时光机,一键拯救消失的互联网记忆 [特殊字符]

Wayback Machine浏览器扩展:你的免费网页时光机,一键拯救消失的互联网记忆 🌐 【免费下载链接】wayback-machine-webextension A web browser extension for Chrome, Firefox, Edge, and Safari 14. 项目地址: https://gitcode.com/gh_mirr…

2026/7/29 18:23:52 阅读更多 →
开发者的Python生存指南:Python解释器安装、配置、避坑全攻略

开发者的Python生存指南:Python解释器安装、配置、避坑全攻略

目录 1. 为什么需要搞清楚Python解释器的安装与配置? 1.1 Python解释器是个啥? 2. 在不同系统上安装Python解释器 2.1 Windows:别被“简单”骗了 2.2 macOS:Homebrew是你的好朋友 2.3 Linux:发行版差异要小心 3. 配置环境变量与pip:让Python听话 3.1 环境变量的正…

2026/7/29 18:22:51 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻