- 博客(36)
- 资源 (37)
- 收藏
- 关注
转载 Unity中T4M插件的使用,以及针对5.0的修改
T4M插件是一个高效的地形制作插件,最强大的地方在于可以像Unity刷地形一样,刷一个模型。比如多数情况下,地面就是一个平面,如果用Unity的地形系统,可能会因为一些细节导致DrawCall增多,顶点增多。这个时候美术通常会在3DMax中直接制作好模型(地形)。 然后通过T4M可以在上面刷出细节丰富的地表,可以支持多个贴图之间的混合。 Unity5中T4M的2.5版本会有一些B
2017-02-28 16:24:38 1208
转载 Unity地形插件T4M使用帮助
unity的地形系统在手机游戏中因为效率问题基本无法使用,只能通过T4M这个地形插件来进行优化制作。下面大概讲解一下使用流程及方法。 先中U3D里面用自带的地形系统刷出想要的地形和贴图。贴图可以大概刷一下。后面要重新刷。 用导出脚本ExportTerrain.js导出地形为OBJ文件并导入3DMAX,给模型添加Optimizer优化命令并优化模型。然后给地形
2017-02-28 16:16:10 6829
转载 Unity T4M 中文讲解
现在在u3d圈里流行了一种地形转换器(或者叫编辑器吧),但是经查阅之后,似乎还没有中文教程,又看到网上不少人在求中文教程,正巧公司内部也需要研究这块,所以我想顺便做一个尝试,顺便写个中文教程吧,英文不足之处请指出,好废话不多说,直接上菜。T4M是什么?为什么要用它?它是一个地形(Terrain)工具。它是一个Unity地形的替代工具,用于所有被3D开发工具(Maya
2017-02-28 15:59:04 1554
转载 Unity3D教程 之 如何获取某个方法执行的时间
如何获取某个方法执行的时间?考虑到有些场景需要这个功能,但鉴于有些开发者还不会,下面就给大家介绍下获取的方法,一起来看看吧。 想在一帧内获取某个方法的总执行时间,开始想用Time.time减去之前保存的时间。但是发现在一帧内永远返回的是0,多帧的话可以,看来Time.time只会在每一帧赋值更新一次,所以一帧内的就取不到了。 然后查了一下c#有一个Sto
2017-02-28 10:58:42 484
转载 Unity时间戳的使用教程
时间戳在游戏开发中虽然是一个比较小的功能?但是如果缺少这个功能就会导致开发遇到困难,为了帮助大家开发,下面就给大家介绍下将时间戳的使用方法,一起来看看吧。 将时间戳转换为时间123456789101112131415
2017-02-28 10:49:29 3095
转载 Cpu优化大全 之 代码优化
前言观察AppStore中游戏应用的评论,玩家对手机发热这一项评论的非常多。在玩家眼里这是游戏优化的不够好,太耗电。主要原因是CPU运算量大。这篇文章从两个方面介绍如何提高运算效率。其中“使用技巧”主要介绍在Unity研发中一些使用不当的方式,以及如何修正。“算法优化”项算是抛砖引玉,算法的优化总是无止境的,不同项目类型都有自己需求。使用技巧神奇的启动时间在
2017-02-28 10:37:33 1662
转载 c#中的interface abstract与virtual
interface用来声明接口1.只提供一些方法规约,不提供方法主体 如 public interface IPerson { void getName();//不包含方法主体 }2.方法不能用public abstract等修饰,无字段变量,无构造函数。3.方法可包含参数 如 public interface IPerson {
2017-02-27 14:48:36 451
转载 对抽象编程:接口和抽象类
本文将介绍以下内容:• 面向对象思想:多态• 接口• 抽象类 1. 引言在我之前的一篇post《抽象类和接口的谁是谁非》中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造成不便,同时关于这个主题的系统性理论,我认为也有必要做以总结,因此才有了本篇的新鲜出炉。同时,我将把上贴中的问题顺便也在此做以交代。2. 概念引入
2017-02-27 14:37:18 396
转载 C# 浅谈 接口(Interface)的作用
继承"基类"跟继承"接口"都能实现某些相同的功能,但有些接口能够完成的功能是只用基类无法实现的 1.接口用于描述一组类的公共方法/公共属性. 它不实现任何的方法或属性,只是告诉继承它的类 《至少》要实现哪些功能,继承它的类可以增加自己的方法. 2.使用接口可以使继承它的类: 命名统一/规范,易于维护.比如: 两个类 "狗"和"猫",如果它们都继承了接口"动物",其中动物里面有个方法
2017-02-27 14:08:37 1689
转载 Shader学习之 - 概述2
Unity Shader形态Unity 有三种编写shader的方式:surface shaders,vertex and fragment shaders,fixed function shaders.fixed function shader (固定功能着色器):对应于固定管线硬件的操作,最简单的着色器类型,只能使用Unity3D自带的固定语法和提供的方法,适用
2017-02-23 11:25:17 354
转载 hader学习之 - 概述1
GPU发展GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”。NVIDIA在1999年发布GeForce 256图形处理芯片时首先提出GPU的概念。GPU所采用的核心技术有硬件T&L、立方纹理(Cube map)和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬件T&L(Transform and Lighting,多边形转换与光
2017-02-23 11:23:59 588
转载 Shader学习之Fixed function shader 简介
一个顶点光照着色器的例子Shader "Custom/FF1" { Properties { _Color ("Main Color", Color) = (1,1,1,0) _Ambient ("Ambient", Color) = (0.5,0.5,0.5,0) _SpecColor ("Spec Color", Color) = (
2017-02-23 11:20:05 646
转载 Shader学习 之 ShaderLab语法: SubShader
每个shader都由一列SubShader构成。真正用于呈现渲染物体的内容是在SubShader中实现的。Unity在实际运行时,会根据硬件情况从上到下选择最优的一个SubShader来执行。语法Subshader {[Tags][CommonState]Passdef [Passdef ...]}细节每个SubShader都定义了一系列pa
2017-02-23 11:09:09 2705
转载 Shader学习 之 ShaderLab语法:Properties
这篇开始主要介绍ShaderLab的语法,参考资料主要来自官方手册。如前所述,Unity中的所有Shaders都是用“ShaderLab”这种声明式语言(Declarative programming)编写的。真正的“shader code”写在同一shader文件的CGPROGRAMsnippets内。CGPROGRAM snippets 是用通用的 HLSL/Cg 语言编写的。
2017-02-23 10:44:46 1954
转载 Unity中批处理对Shader的影响
最近处理一个Shader效果时发现批处理对Shader会有影响。具体表现为:1:Shader中的顶点函数根据顶点位置(物体空间)进行了计算,如把顶点颜色设置为顶点位置值(物体空间)2:当只渲染一个物体时,Shader表现正常3:当渲染多个物体时,且这些物体Unity进行了批处理,会发现Shader异常了,顶点函数中的顶点位置(物体空间)原点已经不在物体的中心4:官方
2017-02-23 10:35:58 689 1
转载 Unity5 (5.0-5.2) Shader编译机制初探 - 小心,Shader在吞噬你的内存
被Unity坑了一把,简单说下吧,下面都是流水账,结论就写在最后了,就是Unity5 - 5.2的shader编译机制真是不咋地。1.Why Always me?问题是这样的,我照着Unity5 的Standard shader写了一个给我们工程用的简化版的标准Shader以及配合使用的ShadergGUI,里面融合了很多功能,包括支持法线啊、uv动画啊、半透镂空等等,通过shader_f
2017-02-23 10:24:37 1210 1
转载 Unity3D之编辑器脚本获取资源内存和硬盘大小
内存使用Profiler可以查看某个资源的内存占用情况,但是必须启动游戏,并且待查看的资源已经载入游戏中。我希望的是不启动游戏,也能看到它的内存好做统计。硬盘由于unity中的资源压缩格式记录在meta中所以,在文件夹中看到的资源大小是不正确的。打开unity需要选择一个资源,比如Texture、然后在右侧Inspector面板最下面可以看见它真实的硬盘占用。这个数据我也希
2017-02-22 18:44:56 1410
转载 Unity3D之动态修改烘培贴图的大小&脚本烘培场景
Unity默认烘培场景以后每张烘培贴图的大小是1024。但是有可能你的场景比较简单,用1024会比较浪费。如下图所示,这是我的一个场景的烘培贴图,右上角一大部分完全是没有用到,但是它却占着空间。 有时候可能你想去修改烘培贴图的大小,如下图所示以前我试过在Inspector视图中修改烘培贴图的大小,图虽然是小了但是它是整体缩小,后来在手机上面发现这这样直接修改烘培贴图的大小确实有问题
2017-02-22 18:21:02 3780
转载 Unity 5 全局光照GI与新的烘焙系统初探
GI是啥Realtime GI,实时全局光照,听上去就是一个非常高大上的词,但是越高大上就越令人心生敬畏,因为世上没有免费的午餐,越好的效果意味着越多的消耗,对于移动平台来说,这样的消耗受不受的起呢?首先来说说GI是干啥的,非常粗略的来描述下,如果说我们以前的光照系统就是由光源 - 物体 - 视点组成的话,那么全局光照系统就是由光源 - n多环境反射光 - 物体 - 视点。就是说GI额外包
2017-02-22 17:45:38 1738
转载 详解Unity 5 全局光照系统Enlighten问题(下)
上篇给大家解答了:为什么场景烘焙出来的lightmap上有Realitime灯光的颜色?和为什么在Unity 5中动态更换lightmap没有作用? 这两个问题。今天,我们继续给大家解答Unity 5 全局光照系统Enlighten中的其他常见问题。为什么烘焙的point灯光会有一圈圈的色阶变化? 大家在烘焙lightmap的时候可能会发现类似下图的奇怪效果。
2017-02-21 17:37:25 1196
转载 详解Unity 5 全局光照系统Enlighten问题(上)
Unity 5正式版面世已经一段时间,许多开发者都已经在使用Unity 5进行开发。那么大家在使用Unity 5时都会碰到一些问题。今天我们Unity的官方技术工程师柳振东将在本文中针对Unity 5中全新的Enlighten全局光照系统的一些问题与大家进行一些分享。 为什么Unity 5的全局光照系统会让大家踩坑呢? 因为Unity 5取缔了Unity 4中使用的Beast
2017-02-21 15:48:41 1107
转载 OpenGL 的渲染流水线
一、渲染:计算机根据模型创建图象。模型(或物体)是由几何图元构成的,而几何图元是通过顶点来指定的。最终渲染的图象由屏幕像素组成。像素(pixel)是显示硬件能够放置到屏幕上的最小的可视元素。有关像素的信息(如颜色)在系统内存中被组织为位面(bitplane)。位面构成了帧缓存(包含图形显示设备为控制屏幕上所有像素的颜色和亮度所需的信息)。 1、使用几何图元建立模型,从而得到物体的数学描述。(O
2017-02-20 14:39:08 673
转载 投影纹理映射(Projective Texture Mapping)
摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文 名“GPU编程与CG语言之阳春白雪下里巴人” 投影纹理映射( Projective Texture Mapping )最初由 Segal 在文章 “Fast shadows and lighting effects using texture maaping” 中提出
2017-02-20 14:36:56 1068
转载 垂直同步、绘制效率、显示器刷新频率与帧率
从后缓存到显示器 最近在看D3D的架构,在这过程中对帧率这个一直认为很简单的东西有了更多的理解。在过去看来,帧率就是显卡渲染一帧所用时间的倒数,现在看来远远不是这个样子。要真正理解这个问题要从绘制数据从显存中到屏幕的这一个过程来说起,下图就是这个过程 显存中存在前后缓存,前缓存就是屏幕上最终看到
2017-02-16 18:18:53 679
转载 物理渲染-基于物理的光照模型
文章所用图片来自相关领域文献,如有侵权请联系撤除, 转载本文请注明出处1.关于光照模型 对于图形学领域和图形学开发来说,实时渲染的光照模型是一个最最基础的问题,简单的来讲,光照模型就是用来描述在真实环境下,物体表面一点在在光照下的反射颜色值.有许许多多的光照模型试图用数学的公式来模拟这个问题,当然这即是一个物理问题,也是一个数学问题.大学时最初接触计算机图形学时,对书本上关于光照模型的推
2017-02-16 16:44:02 418
转载 Python 获取命令行输出
使用的是windows系统,python 2.7。import oscommand = 'ping www.baidu.com ' #可以直接在命令行中执行的命令r = os.popen(command) #执行该命令info = r.readlines() #读取命令行的输出到一个listfor line in info: #按
2017-02-13 18:14:25 3837
转载 Perforce 获取当前workspace中指定目录下最新的changelist
如何知道Perforce的client workspace更新到哪个changelist呢? Perforce并没有提供很直接的命令,因为Perforce从根本上还是对每个文件单独编号的,但是又提供了changelist功能,即对多个文件的commit具有原子性,要么所有文件都commit成功,要么就一个都不要commit成功。 在Git里面,很简单就能通过git log11知
2017-02-13 17:14:22 5510
原创 Jenkins参数化构建过程中参数的传递
设置完参数化构建过程后的面板如下:将参数传递到Python脚本中:P4_Version = os.environ["P4_Version"]; #P4版本号P4_Version = P4_Version.strip();DevelopmentBuild = os.environ["DevelopmentBuild"]; #DevelopmentBuildDeve
2017-02-13 10:45:12 8937
转载 Jenkins的配置从节点中默认没有Launch agent via Java Web Start,该如何配置使用
Jenkins的配置从节点中默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的。如何设置才能让出来呢?打开"系统管理"——"Configure Global Security"TCP port JNLP agents 配置成"随机",点击"Agent protocols",打勾开启"Ja
2017-02-09 14:39:09 19959 3
转载 3D图形学理论入门指南
3D图形学理论入门指南介绍 当我还小的时候,我曾以为计算机图形学是最酷的玩意儿。但是随即我认识到,学习图形学——创建那些超级闪亮的计算机程序——比我想象的要难上许多。我四处出击,阅读OpenGL渲染管线详解之类的文章,浏览关于图形工作原理的博客、网站等,对照着教程学习,试图搞懂一切。结果呢,一无所获。当我按照NeHe的教程设置好一切,却因为错误的调用了某个glXXX(
2017-02-09 10:40:03 1956 1
转载 Unity3D研究:Unity3D引擎架构设计
组件(Component)这个概念最早是在2005年《Game Programming Gems 5》的《Component Based Object Management》中接触到的,当时感觉在设计上很实用。后来,发现Unreal Engine 3的一个重要的改进就是抛弃了以前的基于纯派生关系的对象 模型 ,而转为使用 基于组件的对象 模型 。对于这种设计思想,Unity比Unreal贯彻的更彻
2017-02-07 18:03:28 1942
转载 Unity3D中Random.seed属性解析
UnityEngine.Random.seed 属性:随机数种子基本语法:public static intseed { get; set; }功能说明:此属性用来设置随机数的种子。在计算机中产生随机数的方法有很多,但每种方法都需要一个种子,例如经典的伪随机数产生函数:f(x)=f(x-1)*a+b,其中a、b为已知的固定数值,那么只要知道某个x对应的f值,就可以推算出所有的值。通
2017-02-06 16:50:40 3350
转载 Unity3d 动画重定向 动力学骨骼插件DynamicBone
模型导入装配什么的就不说了。1.要做动作的模型,Rig----从这个模型创建Avatar Animations---取消导入动画。2.有动画的模型,Rig----从其他模型创建Avatar,选中新模型的Avatar。3.动画文件选择 Rig----从这个模型创建Avatar。全部选中humanoid。动力学骨骼插件DynamicBone:1.把DynamicBone脚本放到角色上。2.Root...
2017-02-06 16:32:43 6375
转载 Unity之在UI界面上显示3D模型
1、创建一个3D摄像机,渲染3D模型。(我为了方便就把模型放到了Camera的下面,你可以不这样)2、在2D里面指定一个TopLeft和BottomRight,用来表示模型渲染到UI上面的区域。3、在之前的3D摄像机上挂上UIViewPort脚本,几个变量如图所示。4、结果就是这样。需要注意的地方:1、3D摄像
2017-02-04 18:30:01 18267 2
转载 Unity中IK(反向运动学)的尝试
IK与FK对应,正向运动学就是根骨骼带动节点骨骼运动。而反向运动学就是反过来,由子节点带动父节点运动。 正常来说我是用不到它的,毕竟开发手游还不是次时代fps,玩家也不会关注你脚踩到地面上的细节表现。但是因为美术给出了个难题,所以稍微研究了下Unity中的IK。 正常人物动画的脚是稳定的定在地面上的,使用默认的人形骨骼没有问题。但是自己拉的骨骼就做不到,
2017-02-04 11:22:24 1760
转载 Unity动态字体文字破碎的解决方法(Dynamic Font Broken)
使用Unity的动态字体绘制文字的时候,打开两个ui界面的时候,后面的文字会显示破碎(完全乱掉)。我使用的ui插件是Daikon Forge,由于其label的更新机制问题,最终表现的结果可能比一个文本显示破碎更加糟糕。很可能文本控件会不停的刷新,要打开的新界面也显示不出来。 这个从根本上说,是由于Unity的Dynamic Font实现的不够智能。理论上NGUI也会有这样
2017-02-04 10:33:51 2601
Simple LOD v1.6.unitypackage
2018-04-17
VS调试利器autoexp.dat
2017-07-05
Visual assist x trial key破解补丁
2017-06-24
Visual Assist X 2114
2017-05-18
Avatar换装系统
2017-03-21
Fast Shadow Receiver
2017-03-07
Build Report Tool 自述文件
2017-03-01
Unity资源热更新之AssetBundle
2016-12-07
Unity3D-XML与JSON导出还原场景
2016-10-26
Unpause.zip
2019-05-17
Unity Shader - Sprite Shader之简单抠图
2018-05-30
Unity Shader - 后处理:高斯模糊
2018-05-25
Unity Shader-后处理:简单均值模糊
2018-05-23
Unity Shader - 后处理:简单的颜色调整(亮度,饱和度,对比度)
2018-05-23
Unity Shader - 隐身效果
2018-05-23
Unity Shader-死亡溶解效果
2018-05-22
UnityShader 法线贴图(Normal Map)与视差贴图(Parallax Map)
2018-05-21
UnityShader 浮雕凹凸贴图BumpMap与法线贴图NormalMap的原理及其区别
2018-05-20
UnityShader 渲染队列,ZTest,ZWrite,Early-Z
2018-05-18
UnityShader 边缘光(静态、动态及遮罩)效果
2018-05-16
UnityShader 漫反射(兰伯特与半兰伯特光照模型-逐顶点和逐像素光照)
2018-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人