Unity Gizmos
简介
Gizmos 是Unity编辑器中的一种可视化调试工具,用于在场景视图(Scene View)中绘制辅助图形、图标或文本,帮助开发者直观理解游戏对象的位置、范围、逻辑关系等信息
核心功能
1. 辅助可视化调试
- 在场景视图中显示碰撞体、触发器、射线等逻辑的形状和范围
- 绘制自定义的路径、区域或标记关键点(如出生点、目标点)
2. 编辑器内预览
- 在非运行模式下直接查看逻辑效果(如动画轨迹、物理模拟区域)
- 通过图标(如小箭头、立方体)标记特定对象的位置和方向
3. 自定义图形绘制
- 使用代码动态绘制线、球体、立方体等几何图形
- 支持不同颜色和持续时间、区分不同调试信息
Gizmos 的常用方法与场景
1. 方法
方法 | 作用 |
Gizmos.DrawWireSphere | 绘制线框球体 |
Gizmos.DrawLine | 绘制直线 |
Gizmos.DrawCube | 绘制实心立方体 |
Gizmos.DrawIcon | 在场景中显示图标(如Unity内置的箭头图标) |
Gizmos.color | 设置绘制颜色 |
Gizmos.DrawFrustum | 绘制视椎体(常用于摄像机或灯光范围) |
Gizmos.DrawMesh | 网格绘制 |
2. 脚本中的回调函数
- OnDrawGizmos()
- 调用时机:每帧调用,绘制持续显示的Gizmos(如碰撞体范围)
- 适用场景:需要常驻显示的调试信息
- OnDrawGizmosSelected()
- 调用时机:仅在对象被选中时调用,绘制选中状态的Gizmos
- 适用场景:仅在选中时显示详细信息(如触发器的精确边界)
使用示例代码
1. 自定义触发区域
public class TriggerZone : MonoBehaviour {public Color gizmoColor = Color.red;public Vector3 size = Vector3.one;// 常驻显示的Gizmosvoid OnDrawGizmos() {Gizmos.color = gizmoColor;Gizmos.DrawWireCube(transform.position, size);}// 选中时显示的Gizmosvoid OnDrawGizmosSelected() {Gizmos.color = Color.yellow;Gizmos.DrawCube(transform.position, size);}
}
2. AI路径可视化
public class AiPath : MonoBehaviour
{public List<Vector3> pathPoints = new();void OnDrawGizmos() {Gizmos.color = Color.blue;foreach (Vector3 point in pathPoints) {Gizmos.DrawSphere(point, 0.2f);}Gizmos.DrawLineList(pathPoints.ToArray());}
}
注意事项
1. 仅在编辑器可见
- Gizmos不会在发布后的游戏(Build)中显示,不影响运行时性能
2. 控制显示与隐藏
- 通过场景视图工具栏的 Gizmos菜单 切换全局显示(可过滤特定类型的Gizmos)
3. Gizmos.DrawLine与Debug.DrawLine的区别
- Debug.DrawLine:在Game视图 中绘制调试线(仅运行时),适合测试移动轨迹
- Gizmos:在Scene视图 中绘制(支持非运行模式),适合静态逻辑调试
相关文章:
Unity Gizmos
简介 Gizmos 是Unity编辑器中的一种可视化调试工具,用于在场景视图(Scene View)中绘制辅助图形、图标或文本,帮助开发者直观理解游戏对象的位置、范围、逻辑关系等信息 核心功能 1. 辅助可视化调试 在场景视图中显示碰撞体、触…...
EEG设备的「减法哲学」:Mentalab Explore如何用8通道重构高质量脑电信号?
在脑电图(EEG)研究领域,选择适配的工具是推动研究进展的重要步骤。Mentalab Explore 以其便捷性和高效性,成为该领域的一项创新性解决方案。研究者仅用较少的 EEG 通道即可完成实验,并且能够确保数据的高质量。其搭载的…...
PDF文档压缩攻略
前言:早上花了一点时间网上搜索了一下压缩pdf文档大小的方法,发现大部分是利用第三方在线网页,上传文件付费压缩,同时缺乏文件保密性。 经实践,利用浏览器或者wps(不付费)即可轻松处理。 一、…...
vllm命令行启动方式并发性能实测
设备V100双卡,测试模型qwen2.5-7b,并发度为100。 表现如下: 单卡959.48token/s 双卡 使用 --pipeline-parallel-size 2 939.78token/s双卡 使用 --tensor-parallel-size 21084.82token/s双卡,两张卡分别跑一个接口,形成两个接口…...
医疗AI存在 9 类系统性漏洞
医疗AI存在9类系统性漏洞 理解1. 从整体目的入手2. 关键术语:什么是“红队测试”(Red Teaming)?3. 红队测试的对象:LLM(大模型)4. 红队测试的切入点:为什么要让“临床专家”来做?5. 什么叫做“脆…...
怎么有效管理项目路径(避免使用绝对路径)
怎么有效管理项目路径(避免使用绝对路径) import os 使用 os.path 方法会自动处理不同操作系统的路径分隔符(如 \ 和 /) 1.**current_dir os.path.dirname(os.path.abspath(\__file__)) ** __file__ 获取当前脚本的文件路径&…...
MySQL的行级锁锁的到底是什么?
大家好,我是锋哥。今天分享关于【MySQL的行级锁锁的到底是什么?】面试题。希望对大家有帮助; MySQL的行级锁锁的到底是什么? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MySQL的行级锁是数据库管理系统(DBMS)的一…...
多账号管理、反追踪与自动化测试:我的浏览器实战笔记
作为一名在自动化测试和数据采集方面“踩坑”无数的开发者,我想聊聊自己在浏览器工具选择上的一些经验,也许能帮到同样在“账号风控”“浏览器指纹”“隐私追踪”这些问题上挣扎的朋友们。 一、从最初的Chrome开始:万能但不够隐蔽 起初做Se…...
如何应对客户在验收后提出新需求?
应对客户在验收后提出新需求的方法包括:明确新需求的范围与影响、与客户积极沟通、进行影响评估、合理协商费用与时间调整。其中,明确新需求的范围与影响最为关键。明确新需求的范围意味着迅速界定新需求的边界,分析它对现有项目进度、成本和…...
Android Studio根目录下创建多个可运行的模块
右键选中根目录,选择New -> Module 接着选中Phone & Tablet, 填写项目名和包名 选择一个模板,选择Next 然后可以看到app对应一开始创建的app模块,刚创建的customcomponent对应的,这样就可以在一个根目录下有多个可以安装运…...
【Linux】Linux环境基础开发工具
前言 本篇博客我们来了解Linux环境下一些基础开发工具 💓 个人主页:zkf& ⏩ 文章专栏:Linux 若有问题 评论区见📝 🎉欢迎大家点赞👍收藏⭐文章 目录 1.Linux 软件包管理器 yum 2.Linux开发工具 2.1…...
五子棋html
<!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8" /> <meta name"viewport" content"widthdevice-width, initial-scale1" /> <title>五子棋游戏</title> <style>bo…...
分布式-基于数据库排他锁
原理: 除了可以通过增删操作数据表中的记录以外,其实还可以借助数据库中自带的锁来实现分布式的锁。 我们还用刚刚创建的那张数据库表。可以通过数据库的排他锁来实现分布式锁。 基于MySql的InnoDB引 擎,可以使用以下方法来实现加锁操作&…...
docker host模式问题
为什么乌班图得docker 我装什么都必须要host 而-p映射不管用 在 Ubuntu 上使用 Docker 时,如果你发现只有 --network host 模式能正常工作,而端口映射(-p)不管用,可能有以下几种原因: 1. Docker 网络模式…...
分布式-Redis分布式锁
Redis实现分布式锁优点 (1)Redis有很高的性能; (2)Redis命令对此支持较好,实现起来比较方便 实现思路 (1)获取锁的时候,使用setnx加锁,并使用expire命令为锁…...
【Python爬虫电商数据采集+数据分析】采集电商平台数据信息,并做可视化演示
前言 随着电商平台的兴起,越来越多的人开始在网上购物。而对于电商平台来说,商品信息、价格、评论等数据是非常重要的。因此,抓取电商平台的商品信息、价格、评论等数据成为了一项非常有价值的工作。本文将介绍如何使用Python编写爬虫程序&a…...
大数据应用开发和项目实战-电商双11美妆数据分析2
数据可视化 使用seaborn库绘制复杂图表,展示各品牌和品类的销售情况。 绘制嵌套柱形图,分别按主类别和子类别进行对比。 通过饼图展示男士专用产品的销售偏好,发现男士主要关注清洁和补水类产品。 用seaborn包给出每个店铺各个大类以及各个…...
GSENSE2020BSI sCMOS科学级相机主要参数及应用场景
GSENSE2020BSI sCMOS科学级相机是一款面向宽光谱成像需求的高性能科学成像设备,结合了背照式(Back-Side Illuminated, BSI)CMOS技术与先进信号处理算法,适用于天文观测、生物医学成像、工业检测等领域。以下是其核心特点及技术细节…...
基于深度学习的交通标志识别系统
基于深度学习的交通标志识别系统 项目简介 本项目实现了一个基于深度学习的交通标志识别系统,使用卷积神经网络(CNN)对交通标志图像进行分类识别。系统包含数据预处理、模型训练与评估、结果可视化和用户交互界面等模块。 数据集 项目使用德国交通标志识别基准数…...
Golang的linux运行环境的安装与配置
很多新手在学go时,linux下的配置环境一头雾水,总结下,可供参考! --------------------------------------Golang的运行环境的安装与配置-------------------------------------- 将压缩包放在/home/tools/下 解压 tar -zxvf g…...
时间序列数据集增强构造方案(时空网络建模)
时间序列数据集增强构造方案(时空网络建模) 时间序列数据集TimeSeriesDataset 时间序列数据集增强EnhancedTimeSeriesDataset 一、方案背景与动机 1.1 背景分析 传统时间序列预测方法(如ARIMA、Prophet等)以及很多深度学习方法…...
实验六 基于Python的数字图像压缩算法
一、实验目的 掌握图像压缩的必要性; 掌握常见的图像压缩标准; 掌握常见的图像压缩方法分类; 掌握常见的图像压缩方法原理与实现(包括哈夫曼编码、算术编码、行程编码方法等); 了解我国音视…...
Vue 3 中的 nextTick 使用详解与实战案例
Vue 3 中的 nextTick 使用详解与实战案例 在 Vue 3 的日常开发中,我们经常需要在数据变化后等待 DOM 更新完成再执行某些操作。此时,nextTick 就成了一个不可或缺的工具。本文将介绍 nextTick 的基本用法,并通过三个实战案例,展示…...
Docker + Watchtower 实现容器自动更新:高效运维的终极方案
文章目录 前言一、Watchtower 简介二、Watchtower 安装与基本使用1. 快速安装 Watchtower2. 监控特定容器 三、Watchtower 高级配置1. 设置检查间隔2. 配置更新策略3. 清理旧镜像4. 通知设置 四、生产环境最佳实践1. 使用标签控制更新2. 更新前执行健康检查3. 结合CI/CD流水线 …...
OpenCV 中用于背景分割(背景建模)的一个类cv::bgsegm::BackgroundSubtractorGSOC
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::bgsegm::BackgroundSubtractorGSOC 是 OpenCV 中用于背景分割(背景建模)的一个类,它是基于 GMMÿ…...
AI恶魔之眼使用说明书
AI恶魔之眼使用说明书 产品简介 1.1 产品介绍 AI恶魔之眼是一款具备动态视觉效果与仿生眼睛模拟功能的智能显示产品,可实现以下特性: 真实人眼模拟:支持虹膜样式变换、眨眼动画、瞳孔缩放等动态特效,仿真度高自定义内容上传&am…...
PBR材质-Unity/Blender/UE
目录 前言: 一、Unity: 二、Blender: 三、UE: 四、全家福: 五、后记: 前言: PBR流程作为表达物理效果的经典方式,很值得一学。纹理贴图使用的是上一期的Textures | cgbookcas…...
C++复习
线程库(类) 在C11之前,涉及到多线程问题,都是和平台相关的,比如Windows和Linux下各有自己的接口,这使得代码的可移植性比较差。C11中最重要的特性就是对线程进行了支持,使得C在并行编程时不需要依赖第三方…...
如何使用docker配置ros-noetic环境并使用rviz,gazebo
参考链接:【Ubuntu】Docker中配置ROS并可视化Rviz及Gazebo_docker ros-CSDN博客 前言: 其实这个东西是相当必要的,因为我们有时候需要在一台电脑上跑好几个项目,每个项目都有不同的依赖,这些依赖冲突搞得人头皮发麻&…...
计算机网络中相比于RIP,路由器动态路由协议OSPF有什么优势?
好的!以下是关于路由信息协议(RIP,Routing Information Protocol)的技术原理详解,以及其与OSPF(Open Shortest Path First)的对比分析。内容分为技术原理、对比优势和不足两部分。 一、RIP技术原理深度解析 1. 基本概念 协议类型:RIP属于距离向量路由协议(Distance-V…...
相似命令对比
awk 命令用法表格 场景命令示例说明示例输入文件内容 (input.txt)输出结果1. 基础字段提取awk -F: {print $1} /etc/passwd按分隔符提取第1列(如用户名)。root:x:0:0:root:/root:/bin/bashroot2. 多字段组合输出awk -F: {print $1, $3, $7} /etc/passwd…...
Vuerouter 的底层实现原理
文章目录 前言🧩 Vue Router 底层实现核心原理🧠 执行流程图(简化版)🔍 核心模块源码原理(简要)① 路由注册与匹配(createRouterMatcher)② 历史模式管理器(c…...
按拼音首字母进行排序组成新的数组(vue)
数据按首字母相同的组成新的数组,使用拼音(Pinyin)转换 比如想要的效果: 下载 npm install pinyin代码: import pinyin from "pinyin"; let studentAllList [{onLine: true,points: undefined…...
在IPv6头部中,Next Header字段
在IPv6头部中,Next Header字段 在IPv6头部中,Next Header字段是一个8位的字段,它的作用是指示下一个头部扩展的类型或者最终的传输层协议类型。这个字段的值决定了数据包中紧随IPv6头部之后的头部扩展的类型,或者是直接指向传输层…...
vue项目部署后部分子页面刷新后403
经过我的仔细分析;终于找到了是刷新后路径后面自动拼接了 / ;如 66.66.66.66/aPage 刷新后变成了 66.66.66.66/aPage/ 导致403 方法一: 修改路由为hash模式 // router/index.jsimport { createRouter, createWebHistory, createWebHashHist…...
C# NX二次开发:曲线和点位相关UFUN函数详解
大家好,今天要介绍查询曲线上点位和返回沿着曲线偏移一定距离的UFUN函数。 (1)UF_MODL_ask_curve_points:这个函数的定义为按照给定条件查询曲线上的点位。 Defined in: uf_modl_curves.h Overview Returns an array of 3D …...
服务器数据恢复—硬盘坏道导致EqualLogic存储不可用的数据恢复
服务器存储数据恢复环境&故障: 一台EqualLogic某型号存储中有一组由16块SAS硬盘组建的RAID5阵列。上层采用VMFS文件系统,存放虚拟机文件,上层一共分了4个卷。 磁盘故障导致存储不可用,且设备已经过保。 服务器存储数据恢复过程…...
【2019 CWE/SANS 25 大编程错误清单】12越界写入
案例1: void tonly_aw21036_led_drv_pwm_init(tonly_gpio_pin_t gpio_pin, uint8_t pwm) {uint8_t pin gpio_pin - AW21036_GPIO_PIN_START;if (pin < AW21036_LED_MAX_CHANNEL){aw21036_ctx.pwm[pin] pwm; /* 有效通道号: 0-35 */}else{TONLY_LED_LOG_E(&qu…...
redis bitmap数据类型调研
一、bitmap是什么? redis原文: Bitmaps are not an actual data type, but a set of bit-oriented operations defined on the String type . This means that bitmaps can be used with string commands, and most importantly with SET and GET. 翻…...
[Windows] Ghost Downloader v3.5.9 开源多线程下载工具
[Windows] Ghost Downloader 链接:https://pan.xunlei.com/s/VOPejV3veb6v-im-wVmMkXkhA1?pwdpzwk# Ghost Downloader 是一款专为Windows平台设计的多线程下载工具,完全由Python语言开发。它以其高效的多线程下载技术和断点续传功能而著称,…...
互联网大厂Java求职面试:AI集成与云原生架构设计
互联网大厂Java求职面试:AI集成与云原生架构设计 面试场景:技术总监与程序员郑薪苦的对话 技术总监:郑薪苦,我们今天来聊聊你在AI集成场景中的经验。你有没有尝试过将Spring AI与大模型结合? 郑薪苦:有啊…...
gitignore的相关用法
gitignore .gitignore 是 git 用于管理需要忽略追踪的文件。.gitignore 一般用于远程仓库多人协作的场景,最常见的情况是,使用 MacOS 系统的程序员要在 .gitignore 中添加 .DS_Store 防止将其推送至仓库中。或在开发代码时,将调试文件忽略&a…...
前端取经路——工程化渡劫:八戒的构建之道
大家好,我是老十三,一名前端开发工程师。前端工程化就像八戒的钉耙,看似简单却能降妖除魔。在本文中,我将带你探索前端工程化的九大难题,从模块化组织到CI/CD流程,从代码规范到自动化测试,揭示这些工具背后的核心原理。无论你是初学者还是资深工程师,这些构建之道都能帮…...
Android 数据持久化之 Room 数据库存储
一、简介 Room 是 Google 推出的 Android 持久层框架,建立在 SQLite 之上,提供了一个抽象层,简化了数据库操作。它通过注解和编译时检查来确保数据操作的正确性。 Room 主要由以下三个组件组成: Entity(实体):定义封装实际数据的实体类,每个实体类对应数据库中的一个…...
Selenium Web自动化测试学习笔记(一)
自动化测试 技术手段模拟人工,执行重复性任务,准确率100%,高于人工 selenium 可通过浏览器驱动控制浏览器,通过元素定位模拟人工,实现web自动化,没有焦点(把浏览器放在最小化依然可以&#x…...
一个项目的周测试的文档(Billing Service 测试文档)
目录 Pending Pool 各项功能测试... 2 1. Assign 分配功能。测试结果: ok. 2 2. Reset 功能。 测试结果: OK. 3 3. Discard 功能。测试结果: 提示discard成功,但是historical job没有找到记录... 3 4. E…...
二分查找习题
一、二叉搜索树与双向链表(剑指 Offer JZ36 ) 解题思路要点 - 利用中序遍历特性:二叉搜索树的中序遍历结果是有序序列,这是将二叉搜索树转化为有序双向链表的关键。通过中序遍历可以按从小到大的顺序访问节点,满足…...
JumpServer批量添加资产
环境说明:我的环境是H3C网络设备环境 一、在linux系统环境下通过Python脚本获取交换机信息,IP地址和设备名称一一对应,脚本如下: cat get_device-sysname.py import re from netmiko import ConnectHandler from concurrent.fut…...
使用 Python 与 Java 实现接入 AI 大模型的 MCP 协议:原理与实战
一、什么是 MCP 协议? MCP(Model Context Protocol) 是一种专为远程控制和管理 AI 大模型而设计的通信协议。它允许客户端通过网络向服务器发送请求,以执行诸如模型推理、状态查询、参数更新等操作,并接收相应的结果。…...
Nginx核心原理以及案例分析(AI)
一、Nginx核心原理分析 1. 事件驱动与非阻塞模型 Epoll异步机制:基于Linux的epoll模型实现异步非阻塞I/O处理,单线程可高效管理数万并发连接,避免传统select模型的轮询性能瓶颈。多进程架构:采用Master-Worker模式&…...