自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自由理想的足迹

只要功夫深,铁杆磨成针

原创 U3D Shader Forward Path光源存储信息

1.Forward Add要和Forward Base一起使用。 Tags{ "LightMode"="ForwardBase"} Tags{ "LightMode"="ForwardAdd"} 否则Forward ...

2017-11-11 13:40:28 506 0

原创 U3D Shader Vertex Path光源存储信息和自定义shader实现

在Editor\Data\CGIncludes\UnityCG.cginc中有响应的说明。 1) 光源 float4 _WorldSpaceLightPos0; // 表示光源的位置,_WorldSpaceLightPos0.w == 0是平行光。否则是点光源。 float4 _LightColo...

2017-11-09 00:17:17 547 0

原创 Unity Shader渲染顺序 坐标系 和光照模型

1.Shader中的渲染顺序 是按照Queue"="Geometry" "RenderType"="Opaque,Queue是一般渲染时候的顺序,RenderType是后处理特效使用的渲染顺序。 Background, Geometry,...

2017-11-08 21:59:35 557 0

原创 U3D 发布相关

设置项目名称,项目启动图像,分辨率设置,添加需要发布的场景。 注意预定义宏,.net 版本设置,渲染路径,Bundle Identify,资源版本,图形API设置。 web主要是js和unity之间的相互通信,设置离线是否可播放的选择。 android主要是安装好java sdk, andr...

2017-10-07 18:12:27 491 0

原创 U3D 优化技术

一、Batching技术: 在拥有网格并携带一种不同的材质时候才会形成一个独立的drawcall, 在通知GPU和切换材质shader纹理时候也是比较耗时的(特别是第一次CPU->GPU传递纹理数据)。 Batching 的主要目标是 合并物体的材质,只要他们使用相同的材质(纹理...

2017-10-07 14:28:30 693 0

原创 U3D资源加载

Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径...

2017-10-06 23:35:40 1518 0

原创 U3D编辑器拓展

U3D除了提供Runtime class,还提供了Editor class用于编辑器的拓展开发,包括编辑器环境下的GUI类,编辑器工具类,编辑器操作类等。 自定义编辑窗口: using UnityEditor; public class MyWindow : EditorWindow { ...

2017-10-06 21:14:13 646 0

原创 U3D网格解决方案

U3D对的网络功能是尽可能可靠,灵活为设计原则。两种成熟的网络方案是 授权服务器和非授权服务器。 1.授权服务器其实也叫状态同步,由服务器处理所有的游戏状态,客户端只是处理输入请求和表现,不维护具体的游戏状态逻辑。主角的移动,技能的释放需要服务器作出反应,这些状态才能真正有效。可以避免外挂,但是...

2017-10-06 18:19:07 440 0

原创 U3D Shader去掉全局雾和使用自定义环境光

去掉环境光照和全局雾,添加自己的环境光又利用surface的shader光照和阴影 全局雾用nofog去掉,noambient去掉,注掉UNITY_LIGHT_FUNCTION_APPLY_INDIRECT添加自己的环境光 inline fixed4 LightingU1BlinnPhong ...

2017-10-06 14:41:28 2379 0

原创 U3D的Shader数据的来源

1.所有Unity的Shader数据的来源 先获取MaterialPropertyBlock设置的数据,再获取Render物体(Render关联的Mesh Filter中获取)的材质球设置的数据,然后从全局内建或通过程序设置的数据,最后使用默认数据。 材质对象可以获取编辑器上序列化的数据,或通...

2017-10-06 14:40:20 573 0

原创 U3D Shader

Shader实现各种材质和光照效果,镜头景深,动态模糊,卡通渲染等。 U3D是简单的游戏引擎,提供了尽量多的内建功能,丰富全面的Shader就是其中之一。要善于使用U3D内建的Shader和自己编写的Shader实现效果。 一.内建Shader有简单光效,高光,法线,反射等,分类有: 1)普...

2017-10-06 14:28:32 810 0

原创 U3D脚本

js脚本: 对于unity js没有修饰符的变量是public修饰符,在Inspector中可调节。 变量和函数的声明都是as语言标准的形式。 unity js会自动添加和文件名同名的类,会自动继承MonoBehaviour类。 C#脚本: C#默认参数访问类型是private的。 C#脚本,...

2017-10-05 17:57:21 451 0

原创 U3D数学图形基础

向量和矩阵,四元数,欧拉角: U3D使用的是左手坐标系。 基础数学类有:Vector3类,Vector4类等。在世界坐标系中叉乘是按照左手坐标系进行的。 旋转方向也是按照左手定则规定的。 Slerp插值函数: transform.position = Vector3.Slerp(riseRelCe...

2017-10-05 17:56:51 453 0

原创 U3D寻路导航网格

需要寻路导航的物体增加导航组件,场景中的物件(地块)设置为带有一定路径信息(联通障碍等)的网格,设置寻路物体的目标点,寻路物体会在地图场景中根据网格路径信息找到最短的路径到达目标点。 使用导航网格寻路的步骤: 1)创建地图场景的游戏对象标记为navigation static类型,以参与导航网...

2017-10-05 17:56:08 713 0

原创 U3D场景遮挡剔除技术

Occlusion Culing遮挡剔除,在场景中将不会看到或隐藏的对象进行剔除,从而减少每帧提交给渲染管线的数据量。U3D提供了三种不同的剔除技术来供用户选择。 遮挡剔除步骤: 1)将场景中需要剔除的静态物体动勾选Static标志,可以进行光照烘培。 也可以在occlusion culli...

2017-10-05 17:55:34 1647 0

原创 U3D后期全屏幕渲染特效

Image Effects图像特效主要应用在Camera对象上,可以让游戏画面带来丰富的视觉效果,使得游戏画面更具艺术感和个性。 U3D的大部分特效可以混合使用,U3D的图像特效都在OnRenderImage()函数中在图像到达颜色缓存进行显示交换前进行的图像处理,任何附加在摄像机上的Image...

2017-10-05 17:54:55 2103 0

原创 U3D粒子系统

粒子系统 可以对任何物体,添加粒子组件。 1)老粒子 粒子由发射器,运动器,渲染器组成。 当设置粒子的velocity时候,设置x,z值可以得到风吹走的效果。 simulate in world space在是世界坐标系中更新粒子,关闭后可以跟随物体运动,技能特效效果需要该设置。 粒子...

2017-10-05 17:54:05 756 0

原创 U3D光源烘培光照贴图和light probes

光源: 方向光源是最不消耗GPU资源的。点光源的阴影较消耗GPU资源。聚光灯是较消耗GPU资源的。 Area light区域光源无法用于实时光照,只适用于光照贴图烘培。 Cookie如果是平行光或聚光灯 那么可以是2D的纹理遮罩贴图,如果是点光源那么cookie要是cubemap texture立...

2017-10-05 17:51:39 3399 0

原创 U3D物理引擎

物理效果,布料,碰撞检测都需要rigibody刚体组件。使用物理引擎,引入力大小和速度的(最终会通过物理引擎改变transform参数),不能同时操作transform的参数,否则对transform的计算将会出现错误。 rigibody: mass是刚体的质量, drag是空气阻力,...

2017-10-05 17:50:52 1013 0

原创 U3D角色动画

1.角色 导入角色控制器资源,有第一人称和第三人称prefab及移动组件。 1)基本的CharacterController 3D角色的旋转跟着鼠标轴旋转。 CharacterController move移动,tr.Rotate旋转和OnControllerColliderHit 碰撞处理。 I...

2017-10-05 17:49:30 961 0

原创 U3D基础教程重读 基础编辑和导入文件

编辑器,主要是asset->project; gameobject(prefab)->scene; component->inspector的使用。 file/edit是设置;windows是不同的编辑视图,动画,烘培,纹理打包,性能分析等: 1.基本使用:习惯开菜单上的快捷...

2017-10-05 17:48:14 790 0

原创 unity3d渲染路径整理

方向光源是最不消耗GPU资源的。点光源的阴影较消耗GPU资源。聚光灯是较消耗GPU资源的。 Area light区域光源无法用于实时光照,只适用于光照贴图烘培。 Cookie如果是平行光或聚光灯 那么可以是2D的纹理遮罩贴图,如果是点光源那么cookie要是cubemap texture立方体纹理...

2017-09-18 13:14:50 764 0

原创 切线空间法线贴图生成和应用的理解

一、基于切线空间坐标系的法线贴图理解:使用法线贴图是因为在低模下想获得高模凹凸表面光照效果。因为基于模型坐标系的法线贴图,在换到不同的模型下时候法线贴图不能复用。故引入切线空间让法线贴图可以在相同网格形状模型(或许是子模型)但不同模型坐标系的多个模型间可以共享法线贴图。以下是我个人对切线空间求取,...

2017-09-16 17:06:39 1490 0

原创 关键帧逐帧蒙皮动画原理

一、关键帧动画怎么插件的,还有GPU蒙皮 关键帧动画也称为属性插值动画,一般用于2d非图像质变的动画,主要是对图像的大小,旋转,移动进行插值的关键帧动画,只需要一幅图片就可以,插值方式有线性插值,样条插值。 二、逐帧动画是每个帧都有图片,用一个图片序列,按照时间间隔来播放动画,用动画设计软件进...

2017-08-09 23:27:36 836 1

转载 JavaScript与ActionScript3那些事

 转载自:http://www.cnblogs.com/meteoric_cry/archive/2013/04/03/2997991.html 接触JavaScript和ActionScript3也有近5年的时间了,它们都是应用比较广泛的脚本语言,经过这几年的工作和学习,静下来的时候想总...

2017-07-09 22:47:54 2577 0

转载 JavaScript引擎、虚拟机、运行时环境浅析

 转载自:http://www.cnblogs.com/Bideam/p/5858419.html 一、JavaScript引擎:   所谓JavaScript引擎是一个专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中,用于解释和执行js脚本。   著名的js引擎:...

2017-07-09 22:32:31 681 0

原创 ActionScript3基础语法-变量类型

// AS3 一切类型都是面向对象的,基类都是Object public function AS3VarType() { // 基础类型是值类型,是不变对象,发生改变会生成一个新的,应该是存储在栈中的不变对象 // 当没有引用指向该变量的时候,变量和它所指向的内存会被AVM回收...

2017-07-09 22:30:07 1059 0

原创 win shell和macos shell脚本实例

本实例的功能是命令行输入的Excels文件名和sheet名,输入符合protobuf格式的data数据文件和.cs存取类,分别提供了win和mac版本的脚本代码。 第一步,将xls经过python的xls_deploy_tool.py转成data和proto 第二步:用proto.protobin...

2017-06-13 10:21:26 888 0

原创 OC语法详解

一.基础语法 -(void) setNumerator: (int) n; -符号是实例方法,+号是类方法。 (void)是返回类型,可以是(int)等。 setNumerator方法名。 :符号说明有参数 (int) n;是参数类型和参数名称。 二.文件结构 Fraction.h文件,描述类和方...

2017-06-12 08:01:27 3801 0

原创 c++11新特性总结和boost库的使用

代码见:https://github.com/Jeromecen/cpp11study/tree/master I、保持语言的稳定性和兼容性” 总结:主要是utf8字符串,虚函数override/final支持。 1、c++11宏和类型(考虑和c99兼容):STDC_HOSTED、STDC、__...

2017-06-12 07:01:24 3244 2

原创 向前光照和延后光照渲染器问题和原理

首先光照分为实时光照和烘焙光照,这里讨论的是对动态物体采用的实时光照。 1.为何提前光照计算在多光源下需要多个drawcall? 因为光照计算主要涉及点光源,聚光灯,平行光,环境光;主要的光照计算是 漫反色光照模型:Cd = max( dot(l,n), 0) * Sdiff + Mdiff. 镜...

2017-05-19 13:17:45 1956 0

转载 C++ 内存分配(new,operator new)详解

转载自:http://blog.csdn.net/wudaijun/article/details/9273339 本文主要讲述C++ new关键字和operator new, placement new之间的种种关联,new的底层实现,以及operator new的重载和一些在内存池,STL中...

2017-05-17 10:43:13 423 0

原创 C++ static_cast dynamic_cast const_cast reinterpret_cast使用总结

因为原来C风格的暴力万能类型转换容易导致运行时出错,所以要引入分类更清晰提前发现错误的转换语法。 对象的类型转换包含了对象的引用或指针。 1.static_cast是编译器默认选项,但是没有动态检查所以类对象间非直线继承转换不支持(无关对象指针类型),C风格的转换确是可以的,所以并不是C风格转换的...

2017-05-16 15:41:33 273 0

原创 IOS OC内存堆资源使用总结

堆内存资源不是常量静态全局数据区,代码区,或栈区,不会运行中保持不变或自动清理,所以需要堆内存管理技术。 堆内存管理最主要的问题是:野指针空指针crash, 内存泄露(没有引用或者有引用导致不能重用)。 一. MRC: 1)ios 5.0之前谁拥有谁释放,不拥有不释放 alloc/init/ne...

2017-05-12 15:13:07 465 0

转载 用好Lua+Unity,让性能飞起来——Lua与C#交互篇

用好Lua+Unity,让性能飞起来——Lua与C#交互篇 张鑫 6 个月前 转载自:https://zhuanlan.zhihu.com/p/23559893 原文地址:用好Lua+Unity,让性能飞起来——Lua与C#交互篇 整合Lua是目前最强大的Unity热更新方案,毕竟这是唯...

2017-05-02 22:19:02 16532 1

原创 手游客户端设计思路整理

初衷,回顾改进之前游戏中设计的优劣,设计出简单健壮稳定,可读可维护,可拓展,可测试的优雅程序。 基于弱联网模式,战斗逻辑全部在客户端,关键信息在服务器上同步跑,使用帧同步,基于投票的反外挂设计。 架构设计思路整理: 1.客户端划分层次管理,管理器依赖接口,CObjMgr客户端做表现和表现相关...

2017-05-02 15:31:23 1782 0

原创 Unity3D 自定义光照模型实现

// Use BlinnPhong Shader "U1/Obj/U1ObjNoAmbient" { Properties{ _Color("Diffuse Material Color", Color) = (1,1,1,1) _SpecColor(&qu...

2017-05-02 15:22:40 1354 0

转载 Java三种编译方式:前端编译 JIT编译 AOT编译

Java三种编译方式:前端编译 JIT编译 AOT编译 转载自: http://blog.csdn.net/tjiyu/article/details/53748965        Java程序代码需要编译后才能在虚拟机中运行,编译涉及到非常多的知识层面:编译原理、语言规范...

2017-05-01 10:36:18 515 0

原创 OGLES顶点着色器

顶点着色器在模型变换到裁剪空间阶段,主要进行几何变换和光照的计算,逐顶点颜色,法线和纹理坐标计算。 顶点着色器的输入包括 1)属性 2)统一变量和统一变量缓冲区 3)采样器 4)着色器程序 顶点着色器内建变量 1)内建特殊变量 gl_VertexID gl_Position g...

2017-03-13 10:50:59 469 0

原创 OGLES Shader间数据传递修饰符

顶点着色器的输出和片段着色器的输入保存在插值器中,对每个顶点用向量数组的方式存储。 (OGL会对Uniform变量和插值器进行打包,打包后会更好的利用内存,所以对于uniform数量和顶点输入,输出,片段输入输出的数量在打包后不超过限制即可正常运行)。 (1) 着色器输入输出和变量类型限定符 in...

2017-03-13 09:21:10 614 0

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