当前位置: 首页 > news >正文

Unity3D 入门:在 Visual Studio 里使用 Visual Studio Tools for Unity 全套工具

Visual Studio 安装过程中一起勾选的 Visual Studio Tools for Unity 提供了与 Unity 编辑器方便的交互功能,充分使用 Visual Studio Tools for Unity 可以提升一部分开发效率减少一点点坑。


@TOC

Visual Studio Tools for Unity

我在 Unity3D 入门:安装 Unity3D 并配置与 Visual Studio 的协作开发环境 - walterlv 一文中提及了在安装 Unity 的开发环境时建议勾选了 Visual Studio Tools for Unity。

如果你还没安装,可以阅读此博客安装。如果安装后没有设置 Unity 编辑器的关联,也可以阅读这篇博客了解如何设置关联。

快速实现 Unity 消息

MonoBehaviour 的类中输入 onXXX 可以在智能感知列表中看到 Unity 在游戏运行时给每个游戏对象广播的消息,直接回车输入可以插入这个方法。于是,你可以无需记忆所有的这些消息就可以在不同的消息中添加处理函数。

onXXX

插入的处理函数

或者,你也可以在类中按下 Ctrl+Shift+M 打开“实现 Unity 消息”对话框,通过勾选插入一堆处理函数。

实现 Unity 消息

Unity 项目资源管理器

我们在 Unity 编辑器中查看 Unity 项目的文件结构与 Visual Studio 解决方案资源管理器中看到的是完全不同的。实际上,Visual Studio 中的项目和解决方案对 Unity 资产来说是没有意义的,有用的其实是里面的 C# 脚本。

于是就有了“Unity 项目资源管理器”的需要,它可以以跟 Unity 编辑器相同的视角看 Unity 项目中的资产。

打开 Unity 项目资源管理器

在 Unity 项目资源管理器中查看

在 Unity 编辑器中查看

附加到 Unity 调试

在安装了 Visual Studio Tools for Unity 后,打开 Unity 的项目你将看到平常的“调试”按钮变成了“附加到 Unity”按钮。

附加到 Unity

在 Unity 编辑器也运行起来的情况下,可以在 Visual Studio 里面进入断点调试。

需要运行 Unity

当然,如果觉得每次都要单独去点“Play”比较麻烦的话,可以在调试按钮上下拉选择“附加到 Unity 并播放”。这样每次点击按钮的时候就直接会开始运行游戏了。

附加到 Unity 并播放

如果你没有找到“附加到 Unity”按钮,那么可以在 Visual Studio 的“调试”菜单中找到“附加 Unity 调试程序”。点击后可以自动查找当前正在运行的 Unity 编辑器,选择你希望调试的那一个即可开始调试。

附加 Unity 调试程序

选择 Unity 实例


参考资料

  • Getting Started with Visual Studio Tools for Unity - Visual Studio - Microsoft Docs

我的博客会首发于 https://blog.walterlv.com/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。

如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。

知识共享许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

相关文章:

  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • Unity3D 入门:为 Unity 的 C# 项目添加 dll 引用或安装 NuGet 包
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • 如何在终端和 PowerShell 中将一个命令自动重复执行多次
  • WPF:无法对元素“XXX”设置 Name 特性值“YYY”。“XXX”在元素“ZZZ”的范围内,在另一范围内定义它时,已注册了名称。
  • 一点点从坑里爬出来:如何正确打开 WPF 里的 Popup?
  • Windows Linux 系统中获取端口被哪个应用程序占用
  • 设置用户无需密码自动登录到 Windows 系统
  • 最简单的代码,让 WPF 支持响应式布局
  • 当无边框窗口被子窗口遮挡导致难以调节窗口大小时,可通过处理 NCHITTEST 消息重新支持调节窗口大小
  • 如何给 GitHub Pages 配置多个域名?
  • 通过子类化窗口(SubClass)来为现有的某个窗口添加新的窗口处理程序(或者叫钩子,Hook)
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • 【剑指offer】让抽象问题具体化
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • AHK 中 = 和 == 等比较运算符的用法
  • Bytom交易说明(账户管理模式)
  • CAP理论的例子讲解
  • ECMAScript6(0):ES6简明参考手册
  • iOS | NSProxy
  • JavaScript DOM 10 - 滚动
  • leetcode98. Validate Binary Search Tree
  • python docx文档转html页面
  • Python爬虫--- 1.3 BS4库的解析器
  • Vue.js源码(2):初探List Rendering
  • 代理模式
  • 给新手的新浪微博 SDK 集成教程【一】
  • 力扣(LeetCode)22
  • 七牛云假注销小指南
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 说说动画卡顿的解决方案
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • ionic入门之数据绑定显示-1
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # 计算机视觉入门
  • #100天计划# 2013年9月29日
  • (5)STL算法之复制
  • (C语言)fgets与fputs函数详解
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (翻译)terry crowley: 写给程序员
  • (蓝桥杯每日一题)love
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (十)T检验-第一部分
  • (算法二)滑动窗口
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)Windows2003安全设置/维护
  • (转)项目管理杂谈-我所期望的新人
  • .NET Core引入性能分析引导优化
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 材料检测系统崩溃分析
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .NET中winform传递参数至Url并获得返回值或文件
  • /3GB和/USERVA开关