- 博客(51)
- 资源 (2)
- 收藏
- 关注
原创 Android studio 3.0和unity交互 Manifest文件修改后正确的内容
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yunyue.myunity" ><application android:label="@string/app_name" ><activity android:name=".Ma...
2019-07-23 23:58:58
719
原创 gradle 国内镜像
用android studio 打开一个新的项目,有的时候会很慢 。这可能是因为下载gradle版本太慢的问题,因为国内墙的问题。这是解决办法就是采用国内镜像地址使用阿里云国内镜像对单个项目生效,在项目中的build.gradle修改内容maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }m...
2019-07-23 21:48:00
10162
原创 星空背景 shader实现版本 3D空间感
Properties { _MainTex("MainTex",2d)=""{} _T("T",range(0,10)) = 2 _A("A",range(0,5))=0.5 } SubShader{ pass { CGPROGR...
2019-06-11 21:24:43
923
原创 ReplacePrefabOptions 遇到的问题
当我们的预制件有更新的时候会使用如下方法PrefabUtility.ReplacePrefab来替换预制件以达到更新。但是更新后,会发现原来场景中已经挂在好的预制件都全部没有了。这时候解决办法是使用PrefabUtility.ReplacePrefab(instance,prefab,ReplacePrefabOptions.ReplaceNameBased);就解决了。...
2019-04-26 11:50:42
967
原创 Lua 尾调用消除
Lua支持尾调用消除,就是一种类似于goto的函数调用。当一个函数调用另一个函数的最后一个动作时,改调用才算是一条尾调用。例如:function f(x) return g(x) end。当f调用完g之后就再无其他事情可做了。因此,程序就不需要返回那个尾调用所在的函数了。尾调用不耗费任何栈空间。判断准则:一个函数在调用完另一个函数之后,是否就无其他事情需要做了。如下就不是尾调用:funct...
2018-12-10 11:22:43
398
原创 Unity数据保存到安卓手机目录
string fileName; // Use this for initialization void Start() { fileName = "/sdcard/data/VRData"; if (!Directory.Exists(fileName)) { Directory.Crea...
2018-12-10 11:22:26
4804
原创 C#中委托回调,事件方法
定义委托delegate 返回值 方法签名delegate void Handler(); 创建实例Handler handler = new Handler(Fun);调用委托handler();委托实现方法的异步调用同步调用方法:排队调用,前一个方法执行时,后一个方法等待它的结束后才能启动异步调用方法:不排队调用,前一个方法如果异步调用,后一个方法不必等...
2018-12-10 11:21:38
1286
原创 Lua 数组
polyTable={color=“blue”,{x=3,y=4}}的长度是1,因为计算#table的时候只计算列表长度polyLine={color="blue",thick="none"}的长度是0(#polyLine=0)Lua允许多重赋值,多重赋值的时候会先把右边的所有式子计算后在赋值给左边的。所以交换比较简单。...
2018-12-10 11:16:08
741
原创 Lua 开始 小研究
Lua提供的特性则是C语言所不太擅长的。例如,相对于硬件的高层抽象,动态结构,无冗余,简易的测试和调试。为此,Lua还实现了一个安全的运行环境,一套自动内存管理机制、优秀的字符串处理能力和动态大小数据的处理功能。Lua的主要特性就是他的可扩展性。 ...
2018-12-06 16:06:49
174
转载 unity中手指滑动事件
using UnityEngine;using System.Collections;public class jarodInputController : MonoBehaviour {private float fingerActionSensitivity = Screen.width * 0.05f; //手指动作的敏感度,这里设定为 二十分之一的屏幕宽度.//...
2018-12-05 17:00:28
3434
原创 正确 加载 AB包 部分代码
public void LoadAssetBundle(string bundleID, Action<AssetBundle> callBack = null, uint version = 0) { bundleID = bundleID.ToLower(); //Check to see if bundle is already loa...
2018-08-10 18:18:24
2311
原创 如何正确关闭一个Socket
public void StopSocket(Action stopSocketCallBack) { isSocketRunning = false; if (clientSocket != null) {clientSocket.LingerState = new LingerOption (false, 5);
2018-01-26 19:47:37
4547
原创 如何从类外部获取类内的字典并且对字典做出修改
DataMgr mgr = DataMgr.GetInstance(); var fieldInfos = mgr.GetType().GetFields().Where(v => v.Name.StartsWith("BF")); foreach (var item in fieldInfos) {
2018-01-26 19:46:25
362
原创 Unity中Button的颜色如何用脚本改变
用脚本更改按钮的颜色组合public Button button;void Start(){ColorBlock cb = new ColorBlock();cb.normalColor = Color.red;cb.highlightedColor = Color.green;cb.pressedColor = Color.blue;cb.disabledColor = Color
2017-03-08 18:36:20
17132
5
原创 Unity发布安卓平台——截屏保存到安卓目录方法
IEnumerator ScreenShotMethod(Rect rect) { yield return new WaitForEndOfFrame(); Texture2D png = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false); png...
2016-08-23 13:57:30
2636
原创 StreamingAssets文件
StreamingAssets特性:1.二进制文件放入其中 TXT,xml,db 2.在pc端可读写,在Android和ios下是只读目录 3.不压缩,www读取(只是其中一个方式)
2016-01-24 21:25:48
1139
原创 Cursor类的一个例子
public class Test : MonoBehaviour{ public Texture2D cursorTexture; public CursorMode cursorMode = CursorMode.Auto; public Vector2 hotSpot = Vector2.zero; void OnMouseEnter()
2016-01-22 17:25:39
328
原创 关于Mip Maps的一道选择题
启用Mip Maps对内存的影响是?() 增加约33%的内存减少约33 %的内存增加约25%的内存减少约25%的内存AMip Maps掌握底层图形学的基本知识21启用MipMaps
2016-01-14 15:50:00
1139
原创 关于动态批处理的一道题目
下列哪一对Cube是有可能被Unity引擎进行动态批处理(dynamic batching)的?(A) 两个材质相同、缩放不同的Cube两个材质不同的Cube两个受Light map影响,且LightmapIndex不同的Cube两个用了同一个复杂Shader(多个Pass)的Cube
2016-01-14 11:32:50
772
转载 ShaderLab内置值
Unity provides a handful of builtin values for your shaders: things like current object's transformation matrices, time etc.Unity为你在编写shader是提供了少量的内置变量:类似 当前物体的变换矩阵,时间等。You just use them in Sh
2016-01-14 11:10:09
365
转载 遮挡剔除(Occlusion Culling)与视锥体剔除(Frustum Culling)是否可以同时起作用?()
可以的Occlusion Culling is a feature that disables rendering of objects when they are not currently seen by the camera because they are obscured by other objects. This does not happen automatical
2016-01-14 10:35:29
6742
原创 Unity中私有变量如何显示在Inpsector面板中?
如上所示我们在变量上添加SerializeField后就可以在inpsector面板中看到这个可以拖拽的变量了。
2016-01-14 10:11:20
1521
原创 UGUI中的InputField下的placeholder的作用?
这两个都是文本输入信息,那么为什么要分为两个呢,有什么作用呢?经过尝试我们就会发现,其实Placeholder的作用是用来输入提示信息的。当text下没有输入内容的时候,我们自己设定的提示信息就会出现在输入框中来提示我们此处应该输入什么,以致于不使我们迷惑。当在text中输入信息后,提示信息默认就会不显示了。当此处为空时,又会出现此提示信息。所以这个Placeholder的作用就是用来制作
2016-01-14 10:08:35
4921
转载 Culling的一些介绍
对于realtime interactive 3d environment,现实的速度是非常重要的,虽然现在的硬件能力非常的快,但是要想保持30FPS的同时处理数十万的三角形,以现在的主流机器来说还是非常困难的。 为了解决这种问题,人们提出了很多方法,其中有LOD,有Culling,对于LOD,它可以从2FPS提高到10FPS,但是很难从4FPS提高到20FPS。这两种方法并不矛盾,而且
2016-01-13 18:22:38
511
转载 获取字体的长度
void Start() { Font font = Resources.Load("FZCQJW"); int fontsize = 35; string text = "0"; font.RequestCharactersInTexture(text, fontsize, FontStyle.No
2016-01-08 16:48:34
578
转载 设置物体的隐藏与显示
在开发过程中常常需要对物体进行隐藏和显示操作,在这里总结一些;一、设置Renderer状态每一个可以被渲染的物体都会包含一个Renderer组件,用来渲染物体到屏幕上,如果禁用这个组件自然也就实现了隐藏物体。代码示例如下:[code]csharpcode:using UnityEngine;using System.Collections;public cl
2016-01-05 10:09:57
3756
转载 动态加载资源的方式?(有时候也问区别,具体请百度)
1.通过resources模块,调用它的load函数:可以直接load并返回某个类型的object,前提是要把这个资源放在resource命名的文件夹下,unity不关有没有场景引用,都会将其全部打入到安装包中。resources.load();2.通过bundle的形式:即将资源打成 asset bundle 放在服务器或本地磁盘,然后使用www模块get 下来,然后从这
2016-01-05 08:50:00
3163
原创 虚拟轴参数详解
Name:名字Descriptive Name:控制设置中显示的正直名称Descriptive Negative Name:控制设置中显示的负值名称Negative Button:负向按钮Positive Button:正向按钮Alt Negative Button:备用负向按钮Alt Position Button:备用正向按钮Gravity:当没有键按下时,回归0的
2016-01-04 11:44:35
2167
转载 unity中特殊文件夹
1.隐藏文件夹以.开头的文件夹会被Unity忽略。在这种文件夹中的资源不会被导入,脚本不会被编译。也不会出现在Project视图中。2.Standard Assets在这个文件夹中的脚本最先被编译。这个文件夹中的脚本会被导出到Assembly-CSharp-firstpass, Assembly-UnityScript-firstpass 或 Assembly-Boo-firstp
2015-12-31 16:03:06
385
转载 设计原则之迪米特法则
迪米特法则(Law of Demeter)又叫最少知识原则(Least Knowledge Principle LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。 对面向对象来说,一个软件实体应当尽可能的少的与其他实体发生相互作用。每一个软件单位对其他的单位都只有最少的知识,而其局限于那些与本单位密切相关的软件单位。迪米特法则的目的在于降低类之间的耦合。
2015-12-28 16:16:22
411
原创 设计模式之依赖倒置
总而言之:高层模块不应该依赖于底层模块,都应该依赖于抽象。应该面向接口编程,而不是实现编程,抽象不应该依赖于具体,具体应该依赖于抽象。具体代码如下, public interface ICar { void Run(); void Stop(); } public class BondaCar:ICar { pu
2015-12-28 15:58:30
277
原创 unity中宏定义平台
如下所示#if UNITY_EDITOR Debug.Log("Unity Editor");#endif#if UNITY_IPHONE Debug.Log("Iphone");#endif#if UNITY_STANDALONE_OSX Debug.Log("Stand Alone OSX"); #endif#if UNITY
2015-12-28 12:30:18
394
转载 浅谈封装变化
软件设计最大的敌人,就是应付需求不断的变化。变化有时候是无穷尽的,于是项目开发就在反复的修改、更新中无限期地延迟交付的日期。变化如悬在头顶的达摩克斯之剑,令许多软件工程专家一筹莫展。正如无法找到解决软件开发的“银弹”,要彻底将变化扼杀在摇篮之中,看来也是不可能完成的任务。那么,积极地面对“变化”,方才是可取的态度。于是,极限编程(XP)的倡导者与布道者Kent Beck提出要“拥抱变化”,从软件工
2015-12-28 10:22:18
1380
原创 类与类的四种关系
类与类的关系有四种。1.泛化:就是继承关系2.依赖:一个类作为另一个类中某个方法的参数3.实现:实现接口。例如比大小的类都是实现了IComparable4.关联:一个类作为另一个类的成员变量。
2015-12-28 09:52:53
3765
原创 光源的渲染知识点
顶点光照在烘焙后才有阴影。(默认都没有阴影)最低的保真度。Forward,只有平行光有阴影,其他没有Deferred Lighting 除了面光源都有阴影。
2015-12-25 10:27:59
465
原创 控制动画播放及其获取精灵的长宽数据
animation[""].normalizetime=时间animator.Play(第五个重载方法);获取精灵的数据TextureImporter texImp = AssetImporter.GetAtPath(path) as TextureImporter;foreach (SpriteMetaData metaData in texImp.spritesheet){
2015-12-23 16:18:16
341
转载 反射的用法
反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等,。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息):System.Reflection.Membe
2015-12-22 16:40:40
504
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人