欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,【狗刨学习网】unity极致学院,致力于打造业内unity3d培训、学习第一品牌。 用 Sublime 已经有很长一段时间,很舒适,很贴心,根本停不下来。之前因为是开发页游,所以是用 AS3 开发,近段时间,新开了个手游项目,引擎方面选定了 Unity3D,老实说,之前没有太多的 3D 的概念,只是自己偶尔会下个 AS3 写的 3D 引擎玩一下,折腾折腾,并没有实际的工作中用到过相关的东西,如今项目需要用 Unity3D,有些兴奋,这可不是自己折腾的小打小闹了。 Unity 支持的脚本有3种:C#, JS, Boo,我们这边是打算使用 C#,在使用语言的问题上并没有做太多的讨论,一个是效率上,另一个是别的团队的成功经验,所以一开始就选定了 C#。Unity 自带了一个 IDE 叫 MonoDevelop,整个非常小清新的感觉,但遗憾的是,我用了一小段时间,发现非常难以适应,快捷键、效率、主题,以及编辑器的各种特性都让我用得很不舒服,换一套已经熟悉的操作习惯成本太高,无奈之下,只好 Sublime 上场了。 Google 了之后,发现使用 Sublime 来开发 Unity 的还是大有人大,经过一翻折腾,装上各种插件,写好各种配置后,大功告成。在写代码方面完全可以抛弃 MonoDevelop 了,当然断点调试还是需要它的,所以现在的工作台上这3个程序都得开着,Unity 负责场景编辑,Sublime 负责脚本编写,MonoDevelop 负责断点调试。 另外提一下, Sublime 中修改插件非常方便,你打开相应插件的目录,然后打开里面的 py 文件,你改,你保存,你看效果。 以下,就介绍一下我下载的各种插件以及配置。 Sublime 中 C# 注释快捷键 Sublime 注释的快捷键是 ctrl/,对于不同的语言根据文件的扩展名会有不同的注释类型,不知道为什么这个快捷键在 C# 中乎是失效了,也找到了解决方法,因为 C# 的注释和 JS 是一样的,所以把 JS 中关于注释那一块的 source 类型加上 cs 就好。具体的操作步骤如下: 1、打开 Sublime 的包目录,Preference - Browse Packages ... 2、打开 JavaScript,找到 Comments.tmPreferences 并编辑 3、找到并编辑stringsource.js, source.json, source.cs/string C# 语法分析 这个插件是重中之重,它会从 dll 文件中分析相关的类信息以及其他的元信息,然后你在编辑 cs 文件的时候,会在输入 . 的时候触发补全功能,根据不同的上下文,不同的变量,不同的类文件,会显示出相应的变量和方法提示列表,好用到暴!拉下来我们安装: 1、安装插件:CompleteSharp 2、编辑工程文件,工程文件是指扩展名为 *.sublime-project 的文件 3、在工程文件中加入如下相关的 dll 信息 { "folders": [ { "path": "/D/Documents/Unity" } ], "settings": { "completesharp_assemblies": [ "D:/Program Files (x)/Unity/Editor/Data/Managed/UnityEngine.dll", "D:/Program Files (x)/Unity/Editor/Data/Managed/UnityEditor.dll", "D:/Program Files (x)/Unity/Editor/Data/Managed/nunit.framework.dll", "D:/Program Files (x)/Unity/Editor/Data/Mono/lib/mono/unity/UnityScript.dll", "D:/Program Files (x)/Unity/Editor/Data/Mono/lib/mono/unity/System.Core.dll", "D:/Program Files (x)/Unity/Editor/Data/Mono/lib/mono/unity/System.dll", "D:/Documents/Unity/*/*/*/*/*.dll", "D:/Documents/Unity/*/*/*/*.dll" ] } } unity.sublime-project 配置文件图如下: 增强版的 All AutoComplete 基本上 All AutoComplete 可以算是必装的几个 Sublime 插件之一,不过我一直觉得 All AutoComplete 还是有点缺陷。按照插件的描述,All AutoComplete 会查询当前所有的标签页,并将分析其中的单词,然后在编辑的时候将合适的单词加入提示列表中。我说的缺陷在于,有一些单词对于我来说,是有必要每次都加入提示列表的,比如我自己有一个自己的代码库,里面就有很多自己写的类,类的例句也是我的风,但如果要补全的话就需要打开相关的类文件,这是相当蛋疼的,所以一直有想改一下,改成 All AutoComplete 除了它自己分析的单词外,另外再加入我自定义的单词。 其实,这也算不上它的缺陷,只是我个人的的需求,我这个需求还有另外一个方法解决,就是建立相应的代码片断,有多少自定义的单词,就需要建立多少代码片断的文件,太麻烦了。 我试着改了一下 All AutoComplete,编辑 all_views_completions.py 文件,在其中 AllAutocomplete 中加入了一个 __init__ 方法,该方法会在插件初始化的时候去读取一个指定目录下的文件,指定目录下会有若干个文件,文件为一个以 '|' 为分隔符的单词的字符串,比如:Abs|AccelerationEvent,并将所有读取到的单词加入到 self.customs 中,然后在触发补全的方法中,将自定义的单词加入进去,大概效果效果如下(unity.txt 这份文件其实是从 Unity3D/UnityC#.tmLanguage 中扒过来的): def __init__(self): words = [] for root, dirs, files in os.walk("D:/Program Files/Sublime Text 2/Conf/Packages/All Autocomplete/custom"): for name in files: with open(os.path.join(root, name), "r") as file: words = file.read().split('|') words = filter_words2(words) self.customs = without_duplicates(words) __init__ Unity3D 脚本参考 写代码的过程中,经常会需要查 API 文档,所以方便的查 API 文档是一个重要的功能。Sublime 本身并不提供类的功能,但这难不倒各位程序员童鞋,我在网上找到一个插件:Unity3D Script Reference Search,这个插件的作用就是搜索 API,可以搜索当前光标上的单词,也可以输入指定的内容。这个插件干的事情非常简单,其实就是在插件中调用 webbrowser.open_new_tab(url) ,其中 url 就是拼成的一个查询链接。不过这个插件访问的 url 却是官网的在线 API,而实际上在本地是也有一份 API 文档的,通过 Unity 菜单 Help - Scripting Reference 可以访问。 我试着改了一下插件,修改 Unity3DScriptReference.py 文件,将其中的 url 链接改成指向本地的文件,乎并不生效,web 这一块我不熟悉,所以我干脆简单点,用 Python 开一个简单的 http 服务,我在使用Python创建简单的HTTP和FTP服务中有介绍,直接在 Unity 目录下面开一个 http 服务,最终的效果图如下: /5/ 修改:因为有先入为主的想法,以为只能用 webbrowser 来访问网页,实际上是不需要的,http 服务也是没必要开的,上面的代码只要改一下就可以,将 webbrowser.open_new_tab 改成 subprocess.call 就可以了,如下: browser = "C:/Program Files (x)/Google/Chrome/Application/chrome.exe " def SearchUnityScriptReferenceFor(text): # url = ' text.replace(' ','%') url = ' text.replace(' ','%') # webbrowser.open_new_tab(url) subprocess.call(browserurl) def OpenUnityFunctionReference(text): # url = ' text.replace(' ','%') url = ' text.replace(' ','%') '.html' # webbrowser.open_new_tab(url) subprocess.call(browserurl) 接着,可以绑定快捷键,ctrlshiftp - key bindings user,添加如下快捷键: { "keys": ["f4"], "command": "unity_reference_search_selection" } Unity 语法高亮以及代码片 Unity 提供了一整套完善的游戏开发套件,在写代码的过程中,会遇到很多类是 Unity 自带的,有些类则是 C# 语言本身支持的,为此,网上有达人做了一份 Unity C# 语言高亮文件,里面会将 Unity 自带的类进行单独的高亮。不过我并不喜欢那个高亮的颜色,所以我自己并没有用,插件名称:Unity3D。 同语法高亮类,也有达人做了一份为 Unity 量身打造的代码片断插件,下载安装相应的插件即中:Unity3D Snippets and Completes。 还有一个神奇的插件:Unity Completions,为什么说神奇呢,因为这个插件我安装就花了1个多小时,安装完后发现整个目录占用了多M,文件大小多M,光看这个要吓尿了,其他插件能有顶多有个几百K而已,再看看文件,大概有7W多个,怪不得占用这么大,但老实说这个插件我试了一下之后并不觉得好用,有兴趣的童鞋可以试试。更多内容,请访问【狗刨学习网】unity极致学院 声明:此篇文档时来自于【狗刨学习网】社区-unity极致学院,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。
推荐整理分享使用 Sublime Text 2 开发 Unity3D 项目(使用权资产),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:使用灭火器人要站在上风口还是下风口,使用粗盐热敷十大危害,使用筷子就餐会不会传染乙肝病毒,使用的英文,使用灭火器时要对准火焰的什么部位喷射,使用的拼音,使用的拼音,使用的拼音,内容如对您有帮助,希望把文章链接给更多的朋友!
使用unity3d需要注意到细节 欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,【狗刨学习网】unity极致学
事件委托机制实现GameObject之间的通信 欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,【狗刨学习网】unity极致学
Unity AssetBundle爬坑手记 欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,【狗刨学习网】unity极致学