【Unity】2.10 利用VS2015编辑Unity的C#脚本

分类:Unity、C#、VS2015

创建日期:2016-03-31

一、简介

用VS2015编辑C#脚本时,如果让其“显示所有文件”,就会看到VS2015解决方案资源管理器中项目的文件夹结构和Unity的Project下的文件夹结构完全相同:

这样一来,你就可以在VS2015中直接打开编辑不同的C# 脚本文件了,而且还可以直接创建新的C# 脚本,而不必在Unity和VS2015间来回切换。

1、与Unity的深度集成

如果你仍然不得不一直在Unity编辑器和VS2015之间来回切换,则VS2015 Tools for Unity 就不是一个提升效率的工具了。之所以借助VS2015 Tools for Unity,是因为可以轻松地在无需离开VS2015的情况下保持工作,这是它能提升开发效率的主要原因。

?VS2015中呈现的项目层次结构和在Unity编辑器中显示的层次结构相同。

?VS2015会自动将来自Unity控制台的输出显示在VS2015的错误窗口内的右侧。

?调试游戏时,无需切换回Unity,只需按F5。

无论是独立运行还是在Unity编辑器中运行,VS2015强大的调试器都会连接到你的Unity游戏以调试C#脚本和DLL。

? 断点,包括条件断点。

? 计算“监视”窗口中的复杂表达式。

? 检查和修改变量和参数的值。

? 深化到复杂的对象和数据结构。

你甚至可以当Unity游戏在网络上的另一台计算机上运行时对其进行调试。

2、MonoBehavior向导

在VS2015的.cs代码编辑器中,将光标放置在你可能要插入方法的位置,然后鼠标右击选择【Implement MonoBehaviors】:

此时就会出现下面的选项:

选择要重载的方法,单击【确定】按钮,它就会自动生成对应的代码。

当你需要重载不熟悉的方法时,MonoBehavior 向导尤其有用。

3、可直接编辑Shader

Unity的 ShaderLab语言的语法着色可帮助你在着色器中的错误变成bug之前发现它们。你只需在VS2015中打开并编辑ShaderLab文件。

4、Unity 错误列表

连接到 Unity 实例时,可以从 Visual Studio 内部的 Unity 控制台查看消息。 这包括 Unity 中的错误和警告。 消息将显示在 Visual Studio 的“错误列表”窗口中;Unity 中的错误消息将显示在“错误”选项卡上,警告消息将显示在“警告”选项卡,而其他消息(比如通过使用 Debug.Log Unity API 发送的消息)将显示在“消息”选项卡上。

为了查看消息,必须正确配置 Unity 项目以支持脚本调试并导入适用于你的 Visual Studio 版本的 Visual Studio Tools for Unity 包,并且 Visual Studio 必须连接到 Unity。

如果不想在 Visual Studio 的“错误列表”窗口中看到 Unity 中的错误、警告和消息,则可在“配置”菜单中禁用它们。

二、需要注意的问题

在Unity中使用C#编写脚本时需要注意以下规则:

1、变量的定义

在Unity中,C#脚本的变量不是用属性来声明,而是直接用public、protected、private来声明该变量可访问的范围,格式为:

访问修饰符 变量类型 变量名;

例如:

public int x = 3;

private string s="abc";

其中,声明为public的变量会自动显示在Unity编辑器的Inspector视图中,并可以在Inspector视图中直接编辑该变量的值。

此规定仅限添加到游戏对象的C# 脚本类,即从MonoBehauour类继承的子类中定义的变量,其他类没有此限制。

2、脚本类必须是MonoBehauour类的子类

凡是需要添加到游戏对象的C# 脚本类,都必须直接或间接地从MonoBehauour类继承。对于在Unity编辑器中新建的C# 脚本,Unity会自动帮助开发者完成继承的相关代码。

不需要添加到游戏对象的C#类没有此限制。

3、脚本子类不要使用构造函数

对于脚本子类(从MonoBehauour类继承的类),应该在Start()方法或者Awake()方法中处理初始化的工作,一定不要在MonoBehauour子类中用构造函数做初始化工作,这是因为Unity无法确定何时调用该子类的构造函数。

不是MonoBehauour的子类没有此限制。

4、脚本类名要和脚本文件名相同

对于从MonoBehauour类继承的类,类名一定要与脚本文件名相同,否则添加脚本到游戏对象时会提示错误。

不是MonoBehauour的子类没有此限制。

5、静态变量

建议不要在对象引用中使用静态变量,以确保未使用的对象能够从内存中删除。

时间: 2024-10-21 08:35:09

【Unity】2.10 利用VS2015编辑Unity的C#脚本的相关文章

【Unity】10.1 类人动画的导入和设置

分类:Unity.C#.VS2015 创建日期:2016-05-02 一.制作或购买类人模型 为了充分使用 Mecanim 类人动画系统和类人动画的动画重定位功能,需要先使用其他3D建模软件(例如3ds Max 2015),制作一个搭好了骨架和蒙皮的类人网格模型. 1.什么是类人模型 类人模型也叫类人网格模型,它通常由一组多边形或者三角形网格来组成. 创建类人模型的过程称为建模. 在上面这个图中,1是通过"建模.搭骨架.蒙皮"后最终完成的类人模型,2是为该模型搭的骨架,3是蒙皮的效果.

【Unity】10.4 类人动画角色的控制

分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 导入角色网格和动画及设置 Avatar 之后,就可以准备开始在游戏中使用它们了.以下部分涵盖 Mecanim 提供的.用于控制及排序动画的主要功能. 二.循环动画片段 使用动画的一个常见操作是确保动画正确循环.例如,表示走路循环的动画片段以类似的姿势开始.结束非常重要(如开始时左脚在地面上,结束时右脚在地面上),这样才能确保不会出现脚滑动或奇怪的不稳定动作.Mecanim为解决此问题提供了方便的工具,让动画片段可基于

【Unity】10.3 创建类人动画角色

分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 Mecanim 动画系统 (Mecanim Animation System) 特别适合使用类人骨架动画.由于类人骨架非常普遍并在游戏中广泛应用,因此Unity 针对类人动画专门提供了专业的工作流程和扩展工具集. 本节主要介绍为模型创建 Avatar 的基本步骤.包括: (1)创建Avatar. (2)配置Avatar. (3)肌肉设定. (4)动画重定位. (5)反向动力学. 1.什么是Avatar Mecanim

【Unity】10.2 通用动画的导入和设置

分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 使用类人动画时,Mecanim 的强大之处最明显.但是,尽管没有 Avatar 系统和其他功能,非类人动画也仍然受Mecanim的支持. 在 Mecanim 术语中,将非类人动画称为通用动画 (Generic Animations). 二.添加通用动画的基本步骤 要使用通用动画,转到 FBX 导入器装置 (Rig) 选项卡,然后从动画类型 (Animation Type) 菜单中选择"通用 (Generic)&quo

利用MVC、Unity将Service实现Restful

现在移动设备端的需求越来越大,要满足其数据要求的一种方式就是实现Restful,脱离具体的后台支持方式.在微软的实现方式中,我们需要利用VS建立web API项目,利用 System.Web.Http就可以实现将自己的控制发布出来. public class OutValuesController : ApiController { // GET api/values public IEnumerable<string> Get() { return new string[] { "

升级MAC OS到10.13, 10.14系统后UNITY工程无法加载资源的解决办法

升级MAC OS到10.13, 10.14系统后,出现UNITY工程无法加载资源的情况: Unity项目中Asset目录显示为空! 解决办法一: 打开Launchpad中的磁盘工具 (也就是实用工具下的"磁盘工具") 新建一分区,名称大小任意,格式为MAC OS 扩展(日志式) 将unity工程移至新分区 OK,工程已经可以正常加载了 解决办法二: 1. 升级Unity版本 (如Unity5.6.6, Unity 2018.1 均可以)   2. 安装相应的补丁版Unity3D 参考链

使用Unity Render Textures实现画面特效——建立画面特效脚本系统

本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源(当然你也可以从官网下载). ========================================== 分割线 ========================================== 写在前面 最近由于成为研一新生,被入学的各种事情耽误,好久没有更新博客,好惭愧...刚收拾好我就来更

Unity优化之GC--合理优化unity的gc

介绍: 在游戏运行的时候,数据主要存储在内存中,当游戏的数据不在需要的时候,存储当前数据的内存就可以被回收再次使用.内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程. Unity中将垃圾回收当作内存管理的一部分,如果游戏中垃圾回收十分复杂,则游戏的性能会受到极大影响,此时垃圾回收会成为游戏性能的一大障碍点. 本文我们主要学习垃圾回收的机制,垃圾回收如何被触发以及如何提高垃圾回收效率来减小其对游戏行性能的影响. Unity内存管理机制简介 要想了解垃圾回

Unity优化之GC——合理优化Unity的GC (难度3 推荐5)

原文链接:http://www.cnblogs.com/zblade/p/6445578.html 最近有点繁忙,白天干活晚上抽空写点翻译,还要运动,所以翻译工作进行的有点缓慢 =.= 本文续接前面的unity的渲染优化,进一步翻译Unity中的GC优化,英文链接在下:英文地址 介绍: 在游戏运行的时候,数据主要存储在内存中,当游戏的数据不在需要的时候,存储当前数据的内存就可以被回收再次使用.内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程. Unit