unity打不开 只有进程启动vs的进程是哪个

【图片】UnityVS简易教程。【unity3d吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:81,930贴子:
UnityVS简易教程。收藏
今天我怀着一份十分激动的心情写一篇教程,这也是我本人的第一篇教程。水平有限,有误导之处请指正。先说一下UnityVS是让我们可以在visual studio中调试U3D脚本的这样的一个软件。安装比较麻烦但使用起来非常简单。下载地址
安装说明是英文的,我自己翻译了一下。各位看中文部分然后安装就行了。1. If you have previously installed UnityVS uninstall it now, run ccleaner to remove any left over files & registry keys and reboot.如果你以前安装过UnityVS的话,先要卸载旧的版本,并且用ccleaner或者360软件管家来确保彻底卸载之后重启电脑。2. Run UnityVS 2012.msi to install UnityVS运行UnityVS 2012.msi来安装UnityVS3. Run "make Dir.bat" as ADMINISTRATOR, if you see any errors then make sure you have admin rights and run it again. 使用管理员权限运行"make Dir.bat"如果你看到弹出错误提示,那么一定要确保你拥有管理员权限然后再试一次。4. Right click "copy rhino.bat" and choose edit to open it in notepad右键单击 "copy rhino.bat" 然后选择“编辑”来用记事本打开这个文件。5. replace PATH_TO_THIS_DIRECTORY with the directory which you extracted the .bat and "Rhino.Licensing.dll" to. You should end up with something that looks like this 'copy "D:\extracted\Rhino.Licensing.dll" "%SystemRoot%\assembly\GAC_MSIL\Rhino.Licensing\1.2.0.0__0b83f"'将PATH_TO_THIS_DIRECTORY这段文本替换为一个文件路径,这个路径就是你解压你正在编辑的这个.bat文件和的Rhino.Licensing.dll文件的路径。替换完毕后,文本看起来应该是类似这样的:"D:\extracted\Rhino.Licensing.dll" "%SystemRoot%\assembly\GAC_MSIL\Rhino.Licensing\1.2.0.0__0b83f"'6. Save the edit .bat and run it as ADMINISTRATOR, if you get any errors check the file again and make sure it saved correctly. 保存这个bat文件然后以管理员权限双击运行它,如果你遇到错误提示,请确保你已经保存了这个bat文件。7. Navigate to "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\SyntaxTree\UnityVS" and DELETE the "Rhino.Licensing.dll" File (it should ask you for admin rights to do this)到 "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\SyntaxTree\UnityVS"目录中然后删除"Rhino.Licensing.dll"。8. Now move (Cut & paste) the "log4net.dll" file from the current UnityVS Directory
to the Visual Studio IDE directory (Go up 3 Directories - "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE")现在从当前的目录中移动"log4net.dll" 文件到IDE目录,IDE目录也就是当前目录的前面三级。如"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE"(所谓移动就是剪切+粘贴)9. Launch Visual Studio 2012 (If you get any errors from visual studio at this point or after make sure you've followed every step correctly, if you have uninstall UnityVs, uninstall visual studio 2012, run ccleaner for both temp files and the registry then reboot and start again)运行VS201210. It should now prompt you for your key, open up the key.txt extracted earlier and copy the contents into the box, it should now enable the OK button, click that and you're done!现在会提示你输入key,打开key.txt,复制所有内容然后粘贴到提示窗口中。完成注册!
居然要积分...
安装完毕后,如何使用呢?先到C:\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\SyntaxTree\UnityVS目录(这是我本人的VS安装路径,各位如法炮制找到相应路径即可),导入一个Unity的包当然了还可以在开始菜单中找到这个包。导入之后,最好重启一下U3D,之后就能看见菜单栏中多出来的选项了。
之后再U3D中新建一个脚本然后到VS中打开,弄两个断点然后按F5试试, 此时U3D会卡死一小会,之后点击play运行游戏然后测试脚本,运行到断点之后,就能测出效果了。 我这边的情况是使用这个软件,会让U3D变卡一些。祝各位好运。
额..就只有调试的作用吗?..
也就是说可以在VS里 进行断点测试吗
看到这么多字,本着鼓励原创教程的精神~~~决定先加精再说~~~。。。
撸猪真英语达人,俺一看到这个就不想读,除非是服务器编程之类的技术没办法才会读英语文档
那我是不是不用装VS2010了,我去试试,...LZ好人,就是等级比我低
楼主,资源可以发一份么?,谢了
提示:C:\Unityvs V1.2\Unityvs V1.2&copy "C:\Unityvs V1.2\Unityvs V1.2\Rhino.Licensing.dll" "C:\WINDOWS\assembly\GAC_MSIL\Rhino.Licensing\1.2.0.0__0b83f"系统找不到指定的路径。已复制
0 个文件。
下了学习下 谢谢楼主
大神,这个是什么错误
终于出来一个除了monodevelop之外能断点的了。可惜,64位表示很纠结……
乱七八糟的,
表示unityvs是什么?
不好用,会跟VA冲突,然后搞的很尴尬。
好楼主!我这个算是成功了吗? (成功使用VS编写脚本)
弄了很久。。。还是断点不能首先第一个问题是。。。我用2013的,然后导入项目后VS里面F5被屏蔽了其二是,Debug的时候需要附加进程到unity.exe,不知道需要不需要第三是,就算我附加进程进去了,还是断点没反应
尼玛 不能用
楼主,这个VS2008能用么
不错不错,mono我已经快受够了
登录百度帐号推荐应用Unity3D中用VS2012打开C#代码的设置
正常设置流程
如图在弹出窗口中定位到Visual Studio安装目录下的Common7/IDE/devenv.exe确定即可
可能碰到的问题是,双击C#文件,打开的却是自带的MONO IDE。
此时可以选择的是将VS2012修复一次,再重新打开VS2012,如果一切都正常,然后重新打开U3D,双击打开C#文件即可。
修复其实就是将VS2012的安装光盘重新启动一下,主界面里有此按钮。不过可能会牵涉到时间过期的问题,修改下系统时间到2013年1月到7月中的某一天看看
修复的过程很慢很慢。。。
PS,也有说打开C#文件最靠谱的方式是从inspector中按OPEN按钮。。。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。自:http://www.cnblogs.com/champ/p/execorder.html
在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行。与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题。
事件函数的执行顺序
先说一下执行顺序吧。&官方给出的脚本中事件函数的执行顺序如下图:&
我们可以做一个小实验来测试一下:&在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图所示,然后按照顺序将脚本绑定到对应的游戏对象上:&&三条脚本的代码完全一样,只是做了一点名称上的区分:&
using&UnityE
using&System.C
public&class&Scring0 : MonoBehaviour
&&&&void&Awake()
&&&&&&&&Debug.Log("Script0 ======= Awake");
&&&&bool&isUpdate = false;
&&&&void&Update()
&&&&&&&&if(!isUpdate)
&&&&&&&&&&&&Debug.Log("Script0 ======= Update");
&&&&&&&&&&&&isUpdate = true;
&&&&bool&isLateUpdate = false;
&&&&void&LateUpdate()
&&&&&&&&if(!isLateUpdate)
&&&&&&&&&&&&Debug.Log("Script0 ======= LateUpdate");
&&&&&&&&&&&&isLateUpdate = true;
播放游戏,看看它们的执行顺序。如下图所示,Awake、Update、LateUpdate,无论运行游戏多少次,它们的执行顺序是完全一样的。&
接着我们再做一个测试,把Script0的Update方法注释掉!!&
using&UnityE
using&System.C
public&class&Script0 : MonoBehaviour
&&&&void&Awake ()
&&&&&&&&Debug.Log("Script0 ========= Awake");
&&&&bool&isLateUpdate = false;
&&&&void&LateUpdate()
&&&&&&&&if(!isLateUpdate)
&&&&&&&&&&&&Debug.Log("Script0 ========= LateUpdate");
&&&&&&&&&&&&isLateUpdate = true;
再次运行游戏,看看它的结果。脚本的执行顺序和以前完全一样,Script0即便删除掉了Update方法,但是它也不会直接执行LateUpdate方法,而是等待Script1和Script2中的Update方法都执行完毕以后,再去执行所有的LateUpdate方法。&&
通过这两个例子,我们就可以很清楚地断定,Unity后台是如何执行脚本的了。每个脚本的Awake、Start、Update、LateUpdate、FixedUpdate等等,所有的方法在后台都会被汇总到一起:&
后台的Awake()
&&&&脚本2中的Awake();
&&&&脚本1中的Awake();
&&&&脚本0中的Awake();
后台的方法Awake、Update、LateUpdate等等,都是按照顺序,等所有游戏对象上脚本中的Awake执行完毕之后,再去执行Start、Update、LateUpdate等方法的。&
后台的Update()
&&&&脚本2中的Update();
&&&&脚本1中的Update();
&&&&脚本0中的Update();
脚本的执行顺序
然后我们来看看这样一种情况:在脚本0的Awake方法中创建一个立方体对象,然后在脚本2的Awake方法中去获取这个立方体对象。代码如下:&
using&UnityE
using&System.C
public&class&Script0 : MonoBehaviour
&&&&void&Awake ()
&&&&&&&&GameObject.CreatePrimitive(PrimitiveType.Cube);
using&UnityE
using&System.C
public&class&Script2 : MonoBehaviour
&&&&void&Awake ()
&&&&&&&&GameObject go = GameObject.Find("Cube");
&&&&&&&&Debug.Log(go.name);
如果脚本的执行顺序是先执行Script0,然后再执行Script2,那么Script2中的Awake就可以正确地获取到该立方体对象;可是如果脚本的执行顺序是先执行Script2,然后是Script0,那么Script2肯定会报空指针错误的。
那么实际项目中的脚本会非常多,它们的先后执行顺序我们谁也不知道(有人说是按照栈结构来执行的,即后绑定到游戏对象上的脚本先执行。这一点可以从上面的例子中得到,但官方并没有这么说,还得进一步深入研究)。但一般的,建议在Awake方法中创建游戏对象或Resources.Load(Prefab)对象,然后在Start方法中去获取游戏对象或者组件,因为事件函数的执行顺序是固定的,这样就可以确保万无一失了。&另外,Unity也提供了一个方法来设置脚本的执行顺序,在Edit -& Project Settings -& Script Execution Order菜单项中,可以在Inspector面板中看到如下图所示:&
点击右下角的"+"将弹出下拉窗口,包括游戏中的所有脚本。脚本添加完毕后,可以用鼠标拖动脚本来为脚本排序,脚本名后面的数字也越小,脚本越靠上,也就越先执行。其中的Default Time表示没有设置脚本的执行顺序的那些脚本的执行顺序。&
按照上面这张图的设置,我们再来看一下控制台的输出结果,来确认一下我们的设置是否起作用(注意:把Script0脚本中的Update方法取消注释):&
脚本的编译顺序
关于脚本的编译顺序很是头疼,官方的说法有点模糊,请看官方的解释:&
由于脚本的编译顺序会涉及到特殊文件夹,比如上面提到的Plugins、Editor还有Standard Assets等标准的资源文件夹,所以脚本的放置位置就非常重要了。下面用一个例子来说明不同文件夹中的脚本的编译顺序:
实际上,如果你细心的话会发现,如果在你的项目中建立如上图所示的文件夹层次结构时,编译项目之后会在项目文件夹中生成一些文件名中包含Editor、firstpass这些字样的项目文件。比如按照上图的文件夹结构,我们打开项目文件夹来看一下产生的项目文件是什么样的?&
下面就来详细探讨一下这些个字样是什么意思?它们与脚本的编译顺序有着怎样的联系?
1、首先从脚本语言类型来看,Unity3d支持3种脚本语言,都会被编译成CLI的DLL
如果项目中包含有C#脚本,那么Unity3d会产生以Assembly-CSharp为前缀的工程,名字中包含&vs&的是产生给Vistual Studio使用的,不包含&vs&的是产生给MonoDevelop使用的。&
项目中的脚本语言
Assembly-CSharp
UnityScript
Assembly-UnityScript
Assembly-Boo
如果项目中这三种脚本都存在,那么Unity将会生成3种前缀类型的工程。
2、对于每一种脚本语言,根据脚本放置的位置(其实也部分根据脚本的作用,比如编辑器扩展脚本,就必须放在Editor文件夹下),Unity会生成4中后缀的工程。其中的firstpass表示先编译,Editor表示放在Editor文件夹下的脚本。
在上面的示例中,我们得到了两套项目工程文件:分别被Virtual Studio和MonoDevelop使用(后缀包不包含vs),为简单起见,我们只分析vs项目。得到的文件列表如下:&Assembly-CSharp-filepass-vs.csproj&Assembly-CSharp-Editor-filepass-vs.csproj&Assembly-CSharp-vs.csproj&Assembly-CSharp-Editor-vs.csproj
根据官方的解释,它们的编译顺序如下:&(1)所有在Standard Assets、Pro Standard Assets或者Plugins文件夹中的脚本会产生一个Assembly-CSharp-filepass-vs.csproj文件,并且先编译;&(2)所有在Standard Assets/Editor、Pro Standard Assets/Editor或者Plugins/Editor文件夹中的脚本产生Assembly-CSharp-Editor-filepass-vs.csproj工程文件,接着编译;&(3)所有在Assets/Editor外面的,并且不在(1),(2)中的脚本文件(一般这些脚本就是我们自己写的非编辑器扩展脚本)会产生Assembly-CSharp-vs.csproj工程文件,被编译;&(4)所有在Assets/Editor中的脚本产生一个Assembly-CSharp-Editor-vs.csproj工程文件,被编译。
之所以按照这样建立工程并按此顺序编译,也是因为DLL间存在的依赖关系所决定的。
好了,到此为止,我们可以很容易地判断出上面举的实例中,脚本的编译顺序(实际上,我已经把顺序写在了脚本的文件名中了)
一个Unity3d的工程中,最多可以产生多少个工程文件呢?
写在最后的话
以上内容参考的文章有:&1.&&2.&
工程引用关系:
阅读(...) 评论()他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 unity 关闭进程 的文章

 

随机推荐