自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cbbbc

博客博客

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

转载 C# Dictionary通过value获取对应的key值

1:最直白的循环遍历方法,可以分为遍历key--value键值对以及所有的key两种表现形式2:用Linq的方式去查询(当然了这里要添加对应的命名空间 using System.Linq) 如下为一个十分简单的代码示例: private void GetDicKeyByValue() { Dictionary dic = new D

2016-11-30 20:12:00 7933

转载 C#中关于@的用法

之前一直没有见过@出现在C#语句的字符串前的用法,这次去德瑞的面试题中第一次见到这种格式的,一下子没反应过来,然后回来找了些资料,才知道原来@在带转义字符的字符串前面可以消除转移字符的作用,所以今天虽然题做错了,但也算是成长了。(以下内容摘自博客园)C#中@的用法1. 加在字符串前面,字符串中的 \ 失去转义符的作用,直接写字符串而不需要考虑转义字符 string path =

2016-11-30 16:08:29 298

转载 Unity与FBX--为什么使用FBX文件

在unity里面,使用最多的是FBX。报着好奇心,查了一下为什么:因为:(主要因为前两项)1,中间格式(跨软件):可以作为多个软件的中间格式,互转。2,多记录支持:模型、材质、动画、骨骼。都可以记录在FBX文件里。3,免费的SDK,大量的使用者。4,跨平台。附录:附录A:FBX发展历程(不断被收购……)附录B-1:what's

2016-11-29 17:48:19 3603

转载 Unity中的网格与材质球合并

很多时候我们需要把具有相同shader的材质球合并,从而减少drawcall的产生。  比如九龙战里面,一个人物带有10个部位,10个部位各自来自不同的fbx文件,加上身体,就有11个材质球,占上11个drawcall。如果主城里面跑着10个角色,光人物就占了110个drawcall!所以这种时候材质球合并是必须的。(下图为九龙战里面的多部位换装效果)材质球

2016-11-29 17:41:54 2692 1

转载 Unity3D官方换装demo中网格合并研究

为了实现游戏人物外形的定制,专门研究了Unity官方换装demo 。1.基础 BuildPipeline.BuildAssetBundle  把gameobject生成包,可以用于替换和更新www.assetBundle  动态载入包SkinnedMeshRenderer 骨骼模型渲染器,美术导出的时候每个子模型都带SkinnedMeshRenderer2.基础模型生成

2016-11-29 16:59:53 2856

转载 Unity MeshBaker 合并网格和材质

MeshBaker 能够合并网格和材质,达到减少 Draw Calls 的目的。官网地址:http://www.digitalopus.ca/site/mesh-baker/Asset Store地址:https://www.assetstore.unity3d.com/en/#!/content/5017在这里简单测试使用下,环境如下:Unity 4.5.

2016-11-29 15:38:28 838

转载 Unity教程之-合并(Combine)引用相同材质球的网格(Mesh)

Unity自带了一个合并网格的功能,Mesh.CombineMeshes 组合网格function CombineMeshes (combine : CombineInstance[], mergeSubMeshes : bool = true, useMatrices : bool = true) : void结合网格有利于性能最优化。如果mergeSubMeshes为true,所有

2016-11-29 14:52:05 4448

转载 unity网格合并后位置会变

变换矩阵的问题,要保持相对位置不变,要转换为父节点的本地坐标,combine[i].transform = meshFilters[i].transform.localToWorldMatrix; 这句话改为combine[i].transform = transform.worldToLocalMatrix * meshFilters[i].transform.localToWorldM

2016-11-28 21:40:56 884

转载 Unity3D中网格合并示例研究

Unity3D中网格合并示例的研究:为了实现游戏人物外形的定制,专门研究了Unity示例程序 。首先需要了解几个基本对象的结构一、 SkinedMeshRender:该对象负责网格绘制。主要数据成员包括:var bones : Transform[] 骨骼var materials : Material[] 材质var sharedMesh : Mesh 网格其中M

2016-11-28 21:33:45 765

转载 Unity3D研究院之利用unity自带API提前合并场景Mesh

版本:Unity5.3.3Unity自带了合并Mesh的功能,最简单的做法就是在Root节点勾选static选项,它的原理就是运行时合并。但是最近我在开发的时候就遇到了问题,因为我们场景非常庞大,Mesh的顶点不能超65535所以Unity会自动把合并的mesh分成了很多分mesh,总之顶点都小于65535。在IOS上测试都是正常的,可是在有些Android机器是场景就出问题了。就是渲染不

2016-11-28 21:15:07 1038

转载 Unity网格合并_材质合并

写在前面:从优化角度,Mesh需要合并。从换装的角度(这里指的是换形状、换组成部件的换装,而不是挂点型的换装),都需要网格合并、材质合并。如果是人物的换装,那么需要合并SkinnedMeshRenderer,并重刷对应的骨骼列表。示例:1,新建两个Cube,和一个Cylinder。分别作为坦克的底盘(Cube_chassis)、炮塔(Cube_turret)、炮管(

2016-11-28 21:09:14 699

转载 Unity Mesh合并办法 – 实现换装 优化效率 模型合并

如标题所诉。mesh 分离。可以实现一个 人物 用很多不同形状的武器或者装备什么的。同时 分离可以优化效率。那这里就有一个 mesh如何合并的问题。unity提供了 mesh合并的接口。简单示例代码如下:using UnityEngine;using System.Collections;using System.Collections.Generic; public clas

2016-11-28 21:02:13 5097

转载 关于Shader wants normals, but the mesh doesn't have them的问题

题很明显,着色器需要网格mesh的法线值。但是mesh的法线值为空。即mesh.normals是空的数组。如果mesh是代码实例化生成,则需手动给normals填充值:调用mesh.RecalculateNormals()就ok啦。此外,官方api的一句话需要注意:After modifying the vertices it is often useful to update the norma

2016-11-28 20:00:06 698

原创 释放Activator.CreateInstance创建的对象

调用Dispose接口IDisposable disp = obj as IDisposable;disp.Dispose();

2016-11-22 15:29:31 2335

转载 C# Activator和new的区别

基于接口的Remoting对象是不能用new来创建的,可以直接使用Activator来创建

2016-11-22 15:27:39 4768

转载 C#中Activator.CreateInstance()方法用法分析

本文实例讲述了C#中Activator.CreateInstance()方法用法。分享给大家供大家参考。具体分析如下:Activator 类包含特定的方法,用以在本地或从远程创建对象类型,或获取对现有远程对象的引用。C#在类工厂中动态创建类的实例,所使用的方法为:1. Activator.CreateInstance (Type)2. Activator.CreateInsta

2016-11-22 15:21:09 8076

转载 C#性能优化总结

1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。 1.1.1.1 避免循环创建对象 ★ 如果对象并不会随每次循环而改变状态,那么在循环中

2016-11-22 15:17:22 609

转载 signal(SIGPIPE, SIG_IGN)

当服务器close一个连接时,若client端接着发数据。根据TCP 协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。 根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出),所以client会退出。若不想客户端退出可以把SIGPIPE设为SIG_I

2016-11-15 20:57:50 379

转载 signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN)

signal(SIGCHLD,SIG_IGN);因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。如果将此信号的处理方式设为忽略,可让内核把僵尸子进程转交给init进程去处理,省去了大量僵尸进程占用系统资源。(Linux Only) 对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程(z

2016-11-15 20:55:45 586

转载 使用WinDbg调试程序

WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。WinDbg是微软很重要的诊断调试工具: 可以查看源代码、设置断点、查看变量, 查看调用堆栈及内存情况。调试应用程序(用户模式 user mode) 调试操作系统及驱劢程序(内核模式 kernel mode) 调试非托管程序(

2016-11-09 17:58:52 3893 2

转载 使用WinDBG生成和调试dump文件

程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。 步骤:1) 打开WinDBG并将之Attach 到crash的程序进程2) 输入产生dump 文件的命令WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。选项(1): /m 命令行

2016-11-09 17:47:34 3613

转载 WinDbg配置和使用基础

WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。1. WinDbg介绍:    Debugging Tools and Symbols: Getting Startedhttp://www.microsoft.com/whdc/devtools/debugging/debugstart

2016-11-09 14:33:12 361

转载 为WinDbg设置符号文件路径

WinDbg可以通过加载Symbol文件(*.pdb),即时的调试程序。WinDbg如何找到相应的符号文件呢?WinDbg首先在.exe或者.dll所在目录下寻找同名的.pdb文件。如果找不到,WinDbg在Symbol File Path中查找。Symbol File Path可以通过多种方式设置:1、通过WinDbg菜单File->Symbol File Path(Ctrl

2016-11-08 18:35:59 12174

转载 生成程序崩溃的dump文件,使用windbg调试

1,目的有时候程序在客户那里崩溃了,你程序也没有什么有效的log日志能记录到崩溃的细节,那这实在是一件很麻烦的事情。你得向客户反复了解操作内容并希望能在自己这里重现,这个过程想想都很痛苦吧。。使用下面的方法,能在程序崩溃时生成一个自己的dump文件,记录了崩溃时的一些有用的信息,一般能帮你容易地找到出错的地方。2,原理简单地说,就是windows程序

2016-11-08 18:34:19 891

转载 SVN Upgrade working copy

将一份带有SVN管理的代码,拷贝到一台有更高SVN版本的机器上时,可以在代码目录出右击,选择SVN Upgrade working copy,升级代码的SVN版本。原文地址:http://www.cnblogs.com/KeepMovingblog/

2016-11-08 18:27:19 682

转载 IOS7,8设置APP右上角图标通知数字的区别

IOS7:UIApplication *app = [UIApplication sharedApplication]; // 应用程序右上角数字 app.applicationIconBadgeNumber = 99;上面的代码可以搞定IOS8:iOS8中设置application badge value 会抛错:Attempting t

2016-11-02 20:16:04 765

空空如也

空空如也

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

TA关注的人

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