Unity编译器拓展学习总结(一):常用工具API 文章目录Unity编译器拓展学习总结(一):常用工具API前言一、常用工具API1、PrefabUtility2、AssetDatabase3、EditorPrefs4、Selection5、Undo6、SerializedObject7、ScriptableObject8、特性DidReloadScriptsAttrible总结 前言最近花了不
转载
2024-05-22 11:22:25
118阅读
Unity 集成了 Mono 编译器,所以在 Unity 里面新建 C# 脚本的时候,会自动进行编译。那么,思考可以不可以借助 Unity 的编译接口,来编译外部 DLL 文件。查找 Unity 编辑器的接口,发现有个 API
原创
2021-08-20 14:44:46
1492阅读
一、什么是反射?反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。有了反射,即可对每一个类型了如指掌。另外我还可以直接创建对象,即使这个对象的类型在编译时还不知道。二、反射的使用 平时我们的写法是先引用命名空间(dll),然后new一个对象,通过这个对象调用其中的字段或方法,通过反射,我们可以不用添加dl
转载
2024-04-04 19:09:51
346阅读
前言:如果你在考虑unity的热更新问题,那么有几种方案可以供你选择 1. 选择lua :可以保证你的ios+android平台更新,缺点:lua调试很蛋疼,不是面向对象的语言(虽然你可以用table来作为假定的面向对象,但是这里我说的是标准的面向对象) 2. 选择反射:可以做到ios+android平台更新,缺点:不能挂载mono脚本到你的prefab上,所有的东西你都需要去通过find查找
转载
2024-04-23 12:06:18
78阅读
一、新建C#代码文件,会自动生成类以及开始和更新函数,写好拖到左上角scene相应中的控制件上即可,切记不使用的代码文件在导出为安卓工程前要删掉,否则容易引起错误。二、做AR项目,动态显示的text控件需要放在ImageTarget下面,Canvas会自动生成,且要选成world space模式,一般通过设置旋转90,弄成水平放置,因识别的图片是水平放置的。 三、获取文本对象的代码在start函数
转载
2024-03-12 11:34:41
87阅读
一、Mono简介mono其实是微软的.net的另一个实现,但是mono它跨平台。mono包括 c#编译器、mono运行时,mono类库、基础类库。c#编译器,目前使用的是mcs,主要将c#代码编译成CIL的byte code(一般以.exe或者.dll的形式存在)。mono运行时中也有编译器(转译),将byte code转译成运行平台上的原生码(可能是0101...之类的?),分为三种形式,即时编
转载
2024-03-28 06:43:52
37阅读
建议1正确操作字符串拼接避免Boxing建议2使用默认转型方法建议3区别对待强制转型asis 建议1:正确操作字符串拼接,避免Boxing1、string str1 = “str1” + 9; 2、string str2 = “str2” + 9.ToString(); 从IL代码得知,第一行代码会产生装箱行为,而第二行代码9.ToString()并没有发生装箱行为,它是通过直接操作内存来完
Unity - 编辑器自动编译脚本:Unity开启自动编译: 一般Unity是默认自动编译脚本的,设置在:Edit -> Preferences -> General -> Auto Refresh。自动刷新导入的模型和编译代码脚本是挺好的,但是当你的项目十几个G时,这就不太美妙了。特别是,当你只想要测自己的那个部分,只需要导入少量的资源和和编译少量的代码时;或者你只是出去切换了
转载
2024-04-26 09:26:14
974阅读
1.通过名字找物体
GameObject.Find("Player")
2.通过名字寻找物体子集
transform.FindChild("物体子集名字")
3. 显示和隐藏物体
gameObject.SetActive(true); ?
4.使用和关闭物体代码
gameObject.GetComponent<代码名字>().enable=true;
5.按下动画事件 if (Inpu
转载
2024-09-10 14:22:50
28阅读
之前一篇文章阿赵已经简单的介绍了怎样把自己写的代码打包成dll动态链接库,然后在Unity3D里面用。那么接下来的事情似乎就很简单了,我们在Unity3D里面写脚本,到最后完成时,把核心的代码剪切出去打包成dll文件再放回项目里面。这样似乎别人就不能直接修改你的代码了。事实真的是这样吗?
这里假设我们在Unity3D里面写的代码抽象成这样一个Test类,里面包含了公开和私有的变量,有
转载
2024-05-20 09:43:42
418阅读
前言上一期我们简易的了解了一下Unity3D的信息,也知道了学习代码的重要性,从本期开始,小编将会带着大家从下载安装软件,到学习C#语法再到Unity3D与C#的互通,感兴趣的小伙伴可以跟随小编的脚步,准备开车!!!制作
不易
还请
各位
一键
三连
哦! 安装脚本编辑器Visual Studio接下来我们将要开始学习C#语言,在学习C#之前,我们需要一个可以写脚本的编辑器,Visua
转载
2024-04-24 13:59:14
152阅读
这个是根据网上unity GUI打字机教程修改的原教程是JS,我给改成了C#,然后增加了许多功能 这个教程能实现一段文字对话,有打字机显示效果,能写许多对话,能快进对话,总之现在RPG游戏里有的功能都实现了直接代码,转载请声明转载自---------------------------------------------using UnityEngine;
using System.Co
转载
2024-01-31 03:12:29
25阅读
DrawCalls{ 就是cpu对图形绘制接口调用,CPU通过调用图形库接口,命令GPU进行渲染操作。一次调用就是一次DrawCall。所以如果调用次数多的话就会大量占据GPU的性能消耗。优化方案: { 1 使用Draw Call Batching,也就是描绘调用批处理。Unity在运行时可以将一些物体进行合并,从而用一个描绘调用来渲染他们。 2 通过把纹理打包成图集来尽量减少材质的使用。 3 尽
转载
2024-03-08 21:51:45
53阅读
不吹嘘不装逼,萌新也能看得懂,萌新看不懂的新手教程就是辣鸡! 本系列只讲新手一看就会的小技巧,可能很短也可能较长,标题会标注阅读时间,山宗务必做到大家能看到就会、拿来就用的程度,然后逐渐汇聚进实现自己可爱小点子的地基。 本系列建议先学习专栏第一篇文章:零基础十五分钟做一个文字放置游戏,主要涉及到UNITY内置UGUI文本控件的使用。学习前提:先在学习用项目中创建一个text,并命名
转载
2024-04-22 18:27:36
66阅读
项目组用unity开发的slg游戏项目到了收尾阶段,最近要求实现一个带服系统,就是一个程序能挂机很多游戏账号。
UnityEngine的C#层是在mono虚拟机上运行的,一个mono虚拟机至少要占用40M左右的内存。
如果unity编译好的游戏代码库能直接在.net的环境上运行起来,那么挂机程序就能挂更多的账号,
带服专员就能“忽悠”更多的玩家,老板就能挣更多的钱,万恶的资本家QAQ。思路很简单:
转载
2024-05-06 16:39:16
33阅读
后台线程读取本地或者云端png\jpg图片。背景:做VR开发中,最经常用到的一个功能就是加载外部的全景图,并且在头盔里显示。但是一张4K的全景图动辄10M左右的大小,而且需要占用24M(4K 的jpg格式,一个像素24bit-RGB)内存。如果在主线程里做加载,会明显感觉到卡顿,而在VR模式下用户对卡顿 的感知会被放大。幸运的时Unity的新版本中为我们提供了在辅助线程(worker thread
转载
2024-03-02 10:28:24
190阅读
Unity编辑器UnityEditor基础(二) 利用学到的东西制作自己的工具(自定义的窗口、Inspector、菜单、插件等等)。 准备工作 还是使用上一篇的 Unity 工程,然后在 Scripts 文件夹里创建一个新的 C# 脚本,命名为“Player”,然后双击打开脚本,然后为其添加如下代
转载
2024-03-24 13:34:38
223阅读
Uinty3D打包应用之后总是让人头疼,所有的代码都会在/…_Data/Managed/Assembly-CSharp.dll文件中,而这个dll文件很容易被反编译,反编译之后自己辛苦的劳动成果被人随意窃取和利用,心里总归不舒服,所以我们需要加强自身的反破解能力,虽然这世上没有破解不了的东西,这里做的只是让破解的人付出点代价而已,最好是气血上涌,两眼发黑,然后砸电脑。这里要加密程序代码就是不让电脑
转载
2024-02-26 18:33:41
120阅读
unity有一个很强大的功能 就是我们自己可以创建窗口 像这样 对你没有看错 这个就是自己添加的 我们可以从Tools等选项中打开 然后很容易的同时修改很多不同物体之间的参数 其中的每个字 每句话 按钮等都可以由我们来编辑比如在一个稍微大的一点的游戏中 我们可能设置好多敌人 每种敌人出来模型的不同 我们还可能设置不同的血量 行走速度 攻击速度等等参数 如果我们这时需要同时改变二三十种敌人的参数 是
转载
2024-03-29 20:00:39
91阅读
一:Crashes:崩溃Checklist for crashes关闭 code stripping (and set “slow with exceptions” for iOS)按照优化ios系统上发布程序的大小,确保不是应为剥离代码引起的崩溃 Optimizing the Size of the Built iOS Player (iphone-playerSizeOptimization)