自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(23)
  • 收藏
  • 关注

原创 Unity强制刷新UI的方法

LayoutRebuilder.ForceRebuildLayoutImmediate(RectTransform);

2021-01-27 15:53:13 3043

原创 主程的一些东西

多去看一些别人的框架 找一个合适自己项目的opengl 图形学 管线渲染 大致要知道东西是怎么显示出来的 learnopengl.com这个网站可以看看mvc代码方面 资源管理很重要美术资源 定规则之类人员的管理 如何分配任务 了解手下的能力等各种...

2020-09-10 16:33:05 91

原创 unity的一些坑

指5.6版本1.材质球A用B shader,引用了贴图M。在A换成C shader,引用贴图N之后,你会发现A居然直接引用了M跟N!编辑器神器的记忆功能会记住你材质球上的一些操作,从而导致你的assetbundle无比巨大。2.新建粒子会指定默认材质球,而默认材质球的shader是standerdShader,一个移动平台上从不使用的shader。一旦疏漏,assetbundle也会变大3.LOD Level如果在shader上没有实现,那么在给shader切换LOD的时候,在手机上会crash

2020-08-25 15:34:43 218

原创 TCP粘包、拆包

发生原因:写入的数据大于套接字缓冲区,就会发生拆包写入的数据小于套接字缓冲区,就会发生粘包不及时读取套接字缓冲区数据,也会发生粘包常规解决办法:使用带消息头的协议,消息头储存消息开始标志及长度,服务端解析,获取到头信息及长度开始读取设置定长消息,长度不足则补上固定字符...

2020-08-25 15:12:10 85

原创 unity的一些优化

1.Shader调试发现ShaderLab占用内存过高,有好几百兆,一般来说二十到五十兆就算顶天了。批量查询了Shader的变体数量,发现有个Shader有1W多个变体。发现原来是从网上找的Shader,能用就行。所以多了许多的冗余关键字。一般来说Shader中每多一个关键字, 变体数量就会翻倍,多一个翻一倍,指数级增长。解决这个问题后能有效降低ShaderLab的占用内存。另外一部分就是实际打包中的Shader变体数量,与Editor下预览的数量不一致,打包的数量多于Editor下,发现了很多

2020-08-25 14:47:17 222

原创 面试小结(三) 使用lua的一些注意事项及优化

1.#table 可以用来判断一个数组的长度,但需要注意的是,若table中包含nil,则不可使用。2.table.sort同理,需要排序的table必须是1到n连续的,中间不能有nil。3.尽量使用局部变量,函数function也是如此,因为在lua里函数也是一个变量。局部变量的存取会更快,且生命周期外就会被释放。4.避免使用table.insert()方法1:local a = {}local table_insert = table.insertfor i = 1,100 do

2020-08-25 14:36:18 266

原创 面试小结(二) lua与C#的交互及一些注意事项

简单的来说,lua调用C#的过程是lua-C-C#。C#调用lua的过程是C#-C-lua。注意事项:1.若要经常使用到如gameobj.transform.position = pos这种赋值时,尽量先用常量保存gameobj.transform。因为从lua中获取obj的transform属性便要消耗一定的性能。具体步骤如图:2.lua与C#传参、返回时,尽量少传Vector3/Quaternion等Unity值类型。例如void SetPos(GameObject obj, Vector3

2020-08-25 14:36:11 437

原创 面试小结(一) lua闭包

function f1() local i = 0 local function f2() i = i + 1 print(i) end return f2endg1 = f1()g1() --->1g1() --->2g1() --->3g2 = f1()g2() --->1g2() --->2g1() --->4去面试的时候,第一个问题就是lua的闭包是什么?我一脸懵逼,这是啥,不晓得啊。今天百度了好多,虽然.

2020-08-25 14:36:02 394

原创 Unity Shader学习笔记

Shader "Example/Diffuse Texture" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType" = "Opaque" } CGPROGRAM #pragma surface surf Lambert struct Input { float2 uv_MainTe.

2020-08-25 14:35:36 94

原创 xxx.app: resource fork, Finder information, or similar detritus not allowed

resource fork, Finder information, or similar detritus not allowedCommand/usr/bin/codesign failed with exit code 1升级macOS Sierra XCode 8后引起的一个问题。主要是在替换Data中的assetbundle后出现。最初解决的办法是

2016-11-07 17:08:10 2044

原创 A星算法生成阻挡

A星的Width和Depth需手动调整(注意:Node Size需为2)场景里的有些美术没注意到的树需手动调整,Layer改成Treeterrain的tag和Layer需注意collision testing里的mask可以选择Blocks stone treesave & load 里Generate cache即可直接保存最后一行的Scan是用来预览的

2015-11-23 16:01:41 469

原创 unity 烘焙光源

windows→lightmapping把war_xx_scene下需要烘焙的物体全部选中(一般在war_03_00下的都是)选中直射光(烘焙时只可用一个光,关闭Player光源)点击BakeMode下选择SIngle Lightmaps,Resolution可选3或10调整Sky Light Color以及Edit→Render Settings里的Fog Color等  具

2015-11-23 15:53:55 520

原创 The file "MemoryStream" is corrupted! Remove it and launch unity again!

关于这个问题 找了好多地方在http://forum.unity3d.com/threads/unity-4-5-memory-stream-is-corrupted.248356/有个回答说The crashing levels had a Prefab with a Missing MonoBehavior. Removed the missing reference and it

2015-10-12 17:53:21 1466

原创 NGUI UIPanel在softClip下不起作用的问题

可能是因为Panel的Scale里x,y,z不一样,需要xyz都相同时,softClip才会起作用

2015-07-20 10:49:40 590

原创 Unity性能优化

优化:

2015-07-02 10:45:42 561

原创 遍历所有子物体的方法

遍历活跃的子物体

2015-07-02 10:41:54 652

原创 侦听UIButton事件

EventDelegate.Add (Btn.onClick,delegate() { do sth.});或者用UIEventListenerUIEventListener.Get (Btn.gameObject).onPress = Press;UIEventListener.Get (Btn.gameObject).onPress += new UIEventList

2015-01-27 14:06:06 343

原创 动态修改UIGrid的Column Limit属性

xxx.GetComponent ().maxPerLine = 1;

2015-01-22 14:20:37 1139

原创 NGUI动态添加UILabel

UILabel label = NGUITools.AddWidget(gameObject);label.text = "坦克";label.ambigiousFont = font;label.fontSize = 20;label.color = color;label.transform.localPosition = Vector3.zero;//这是设置描边label.e

2015-01-16 15:33:30 944

原创 C#找到子物体的父对象

this.transform.parent.gameObject可以用在点击按钮,然后关闭整个父物体另外,transform好像用处挺大的,以后多注意

2015-01-15 15:29:00 881

原创 关于没有实例对象的问题

因为动态加载的原因,很多时候,总是会碰到Object reference not set to an instance of an object的问题,即没有实例化对象我的解决方法是用Invoke函数,延时0.1秒就可以解决不知道有没有更好的方法可以解决这个问题,主要是懒得去想动作的先后,

2015-01-14 13:37:29 533

原创 Unity中遍历所有子物体

需要注意的是Unity好像并不支持GameObject的遍历,所以请使用Transformvoid SetRace(){foreach (Transform child in transform) {Debug.Log("XXX");}}

2015-01-14 13:14:07 2688

原创 Unity中遍历子物体

void SetChild{ foreach(Transform child in transform) Debug.Log("XXX");}需要注意的是Unity好像并不支持GameObject的遍历,所以请使用Transform

2015-01-14 13:10:00 230

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除