- 博客(47)
- 资源 (6)
- 收藏
- 关注
转载 场景资源之解包(2)
本篇接着上一篇继续和大家分享场景资源这一主题,主要包括两个方面:(1)加载场景场景异步加载的代码比较简单,如下所示: private IEnumerator LoadLevelCoroutine() { string url = "ftp://127.0.0.1/TestScene.unity3d"; int verNum
2014-03-24 16:24:42
796
转载 场景资源之打包(1)
本篇讲解的是3D游戏的场景资源打包方式,首先简单的分析一下场景中所包含的资源的类型。场景资源一般包含:地表模型(或者是Unity Terrain),非实例化物体(摄像机、空气墙、光源、各种逻辑物体之类的)、场景物体(花草树木、房子箱子之类的)。因为场景物体大多是公用的,所以将场景物体都打成单独的包,将地表模型、非实例化物体打包到场景包中。那么场景TestScene所对应的资
2014-03-24 16:23:31
786
转载 资源的加载、简易的资源管理器
每个需要进行资源管理的类都继承自IAssetManager,该类维护它所使用到的所有资源的一个资源列表。并且每个资源管理类可以重写其资源引用接口和解引用接口。每个管理器有自己的管理策略,比如SceneManager对场景背景图可以保留最近使用的几张,使用LRU算法维护当前内存中的贴图张数等...using UnityEngine;using System.Collection
2014-03-24 16:18:27
745
转载 游戏资源打包(2)
本篇接着上一篇。上篇中说到的4步的代码分别如下所示:(1)将资源打包成assetbundle,并放到自定目录下using UnityEditor;using UnityEngine;using System.IO;using System.Collections;using System.Collections.Generic;public class Create
2014-03-24 16:13:41
793
转载 游戏资源打包(1)
将本地资源打包,然后放到资源服务器上供游戏客户端下载或更新。服务器上包含以下资源列表:(1)游戏内容资源assetbundle(2)资源维护列表,包含每个资源的名字(完整路径名)和对应的版本号[资源名,版本号],如下表所示(VersionNum.xml): "Assets.Resources.BigLevelTexture.TestLevel.assetbundle" Nu
2014-03-24 16:11:13
759
转载 Unity3d Shader(三) Pass(GrabPass)捕获物体所在位置的屏幕的内容
GrabPass 是一种特殊的通道类型 - 捕获物体所在位置的屏幕的内容并写入到一个纹理中。这个纹理能被用于后续的通道中完成一些高级图像特效。 Syntax 语法 The GrabPass belongs inside a subshader. It can take two forms:有两种方式将GrabPass放入一个 subshader 中:
2014-01-07 09:24:10
1538
转载 Unity3d Shader(三) Pass(Blending)带贴图的透明玻璃等
Blending is used to make transparent objects.混合被用于制作透明物体。Shader(三) Pass(Blending)带贴图的透明玻璃等" style="margin:0px; padding:0px; border:0px; list-style:none">When graphics are rendered, after a
2014-01-07 09:23:43
2131
转载 Unity3d Shader(三) Pass(Alpha testing)植物的透明剪切
The alpha test is a last chance to reject a pixel from being written to the screen.透明度测试是阻止像素被写到屏幕的最后机会。Shader(三) Pass(Alpha testing)植物的透明剪切" style="margin:0px; padding:0px; border:0px; list-s
2014-01-07 09:23:03
1726
转载 Unity3d Shader(三) Pass(Texturing)混合纹理(同时显示2张图),自发光
After the basic vertex lighting has been calculated, textures are applied. In ShaderLab this is done using SetTexture command.纹理在基本的顶点光照被计算后被应用。在着色器中通过SetTexture 命令来完成。SetTexture commands have
2014-01-07 09:22:24
2409
转载 Unity3d Shader(三) Pass(Culling & Depth Testing)透明立方体
剔除是一种通过避免渲染背对观察者的几何体面来提高性能的优化措施。所有几何体都包含正面和反面。剔除基于大多数对象都是封闭的事实;如果你有一个立方体,你不会看到背离你的那一面(总是只有一面在你的前方),因此我们不需要绘制出背面。因此也被称做背面剔除。 另一个使得渲染看起来正确的是深度测试。深度测试确保只有场景内的对象的最靠近的表面参与绘制。 Syntax 语法 Cull
2014-01-07 09:20:57
830
转载 Unity3d Shader(三) Pass(Color, Material, Lighting )
材质和灯光参数被用于控制内置顶点光照。顶点光照是Direct3D/OpenGL标准的按每顶点计算的光照模型。光照打开时,光照受材质块,颜色材质和平行高光命令的影响。 每像素光照常被实现为自定义顶点/片面程序,并且不使用顶点光照。这种情况下,你不会使用到任何在这里描述的命令,相反,在你完成光照,贴图和任何其他动作时,你需要定义自己的vertex and fragment prog
2014-01-07 09:20:20
1082
转载 Unity3d Shader(三) Pass
Pass通道块控制被渲染的对象的几何体。 Syntax 语法Pass { [Name and Tags] [RenderSetup] [TextureSetup] }基本通道命令包含一个可选的渲染设置命令的列表,和可选的被使用的纹理的列表。 Name and tags 名称和标签一个通道能定义它的Name 和任意数量的Tags (用于向渲染引
2014-01-07 09:17:08
862
转载 Unity3d Shader(二) SubShader
Unity中的每一个着色器都包含一个subshader的列表,当Unity需要显示一个网格时,它能发现使用的着色器,并提取第一个能运行在当前用户的显示卡上的子着色器。 Syntax 语法Subshader { [Tags] [CommonState] Passdef [Passdef ...] }通过可选标签,通用状态 和 一个Pass 定义的列表构成了子着色器。 Deta
2014-01-07 09:16:36
739
转载 Unity3d Shader(一) Properties
着色器可以定义一个参数列表,可以由开发者在材质检视面板编辑参数。着色器文件中的Properties块定义了这些参数: 语法:Properties { Property [Property ...] }定义属性块,其中可包含多个属性,其定义如下 name ("display name", Range (min, max)) = number定义
2014-01-07 09:15:53
768
原创 unity3d 团队合作 SVN版本控制
虽然unity有自己的Asset Server,但始终感觉那个不方便,而且不能管理相关的需求、设计文档,除非你把这些放进Assets文件夹,不过我估计没人喜欢这么做。同时还是要收费的,免费的只能上传不到600M的资源。 Unity 3.5版本以后,使用SVN要方便一些了。因为必要的*.asset文件全部被独立的放在了ProjectSettings文件夹下。
2013-09-15 12:16:19
1749
原创 MySQL存储过程
1.1 CREATE PROCEDURE (创建)CREATE PROCEDURE存储过程名 (参数列表) BEGIN SQL语句代码块END注意:由括号包围的参数列必须总是存在。如果没有参数,也该使用一个空参数列()。每个参数默认都是一个IN参数。要指定为其它参数,可在参数名之前使用关键词 OUT或I
2013-09-09 17:45:10
619
转载 Unity3D协同程序(Coroutine)
一。什么是协同程序 协同程序,即在主程序运行时同时开启另一段逻辑处理,来协同当前程序的执行。换句话说,开启协同程序就是开启一个线程。二。协同程序的开启与终止 在Unity3D中,使用MonoBehaviour.StartCoroutine方法即可开启一个协同程序,也就是说该方法必须在MonoBehaviour或继承于MonoBehaviour的类中调用。
2013-09-09 17:09:56
1013
转载 c# 摄像头录像 及视频保存压缩等
录像是直接复制了网上的。压缩是一个同事做的。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Drawing;using System.Runtime.InteropServices;using System.Threa
2013-09-01 23:48:37
1606
原创 c# 进程间通信
一、进程间通讯的方式进程间通讯的方式有很多,常用的有共享内存(内存映射文件、共享内存DLL、剪切板等)、命名管道和匿名管道、发送消息等几种方法来直接完成,另外还可以通过socket口、配置文件和注册表等来间接实现进程间数据通讯任务。以上这几种方法各有优缺点,具体到在进程间进行大数据量数据的快速交换问题上,则可以排除使用配置文件和注册表的方法;另外,由于管道和socket套接字的使用需要有网卡的
2013-08-29 13:11:37
621
转载 Unity3D的断点调试功能
断点调试功能可谓是程序员必备的功能了。Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调试的。不过这个断点调试功能只限于使用Unity3D自带的MonoDevelop编辑器。而用Visual Studio是不行的。听说有个叫做UnityVS的东西可以使用VS对Unity进行断点Debug,不过我本人没试过。 好了,简单的说说做法
2013-08-21 23:00:49
741
转载 Unity的一些笔试题,大侠们帮忙改改答案哦!
1.请描述游戏动画有哪几种,以及其原理。 答:主要有关节动画、单一网格模型动画(关键帧动画)、骨骼动画。 关节动画把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活Quake2中使用了这种动画; 单一网络模型动画由一个完整的网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效果,角色
2013-08-19 22:33:04
1478
转载 支持unity3D的AR(增强现实)框架!!!
这里推荐使用高通提供的AR框架,它支持android和ios原生应用开发,同时还支持unity3D。https://ar.qualcomm.at/sdk 这里把官方的sdk下载地址贴上来,下载需要注册,注册密码需要大小写英文+数字(我整了好久才发现,妈的它也不提示)。下载好unity3D的包(它提供的是exe文件,装完以后就是unitypacage了),里面包括一个框架包、和4个项
2013-08-17 19:14:54
1434
转载 NGUI类库说明
~/UI/UIRoot, 控制其下控件的缩放方式,V2.3中可以使用Scaling Type控制,等于PixelPerfect时,当前页面高小于minimumHeight则进行缩放,其他高都是固定尺寸,大于maximumHeight则是放大;等于FixedSize时,按manualHeight为中间值,放大或缩小.UIPanel,NGUI容器,可以对其下控件进行隐藏,静态组建可
2013-08-07 11:56:44
1442
转载 shaderLab关键字和函数
SubShader{ Tags{"Queue"="Transparent"} //渲染完不透明物体,再渲染当前物体 GrabPass{} //将当前屏幕抓取到_GrabTexture纹理变量中.之后的pass可以使用这张纹理. Pass{ Name "passName" //给pass起名 Material{ //[]取值符号 Diffuse[_diffuseC
2013-08-04 21:57:22
731
转载 ShaderLab 初学笔记
Unity中的材质着色器被称为ShaderLab,形式上接近于CgFX和Direct3D Effects (.FX)。在Unity中配置属性的时候,其实就是针对Shader进行配置。下面我们看一个简单的脚本:Shader "u3dcool.com/Tutorial/Basic" { Properties { _Color ("Main Color", Color
2013-08-04 21:54:22
647
转载 Resources动态加载NGUI图片的方法
在NGUI中有些图片我需要动态进行变更或者加载,应该如何解决?首先在项目中创建一个Resources目录,接着把需要的图片放在这里面,可以有子文件夹么?当然可以,文件结构很重要哦~NGUI加载图片的方法其实是加载NGUI生成的atlas,大家可以看看NGUI的图集文件(一个material、一个prefab,一张图集),我们要做的就是动态加载这个prefab(它有UIAtlas属性),然后通过图片
2013-07-30 22:45:01
1582
转载 Unity3D研究院之通过C#使用Advanced CSharp Messenger
Advanced CSharp Messenger的特点可以将游戏对象做为参数发送。到底Advanced CSharp Messenger有什么用呢?先创建一个立方体对象,然后把Script脚本绑定在这个对象中。脚本中有一个方法叫DoSomething()。写一段简单的代码,通常我们在调用方法的时候需要这样来写。view source01priv
2013-07-24 23:39:17
1172
转载 NGUI研究院之三种方式监听NGUI的事件方法
1.直接监听事件把下面脚本直接绑定在按钮上,当按钮点击时就可以监听到,这种方法不太好很不灵活。view source1void OnClick() 2{ 3 Debug.Log("Button is Click!!!");
2013-07-24 23:36:04
2169
转载 NGU- Scroll View实现触摸滚动相册效果
如下图所示,这是我们的工程页面,程序的实现原理是将相册在Unity3D世界中呈横向队列,摄像机固定的照射在第一个Item相册,当手指发生滑动事件时,计算向左滑动还是向右滑动,此时整体移动相册队列,而摄像机不动。为了让滑动效果更加好看我们需要使用插值计算滑动的时间,使滑动队列不是直接移动过去,而是以一定惯性移动过去。相册下方我们制作一个小白点用来记录当前滑动的位置,在做几个灰色的点表示队列一共的长度
2013-07-22 23:23:32
1246
原创 NGUI 控件显示规则
1、相同panel 相同atlas sprite受depth控制2、相同panel 不同atlas sprite受z轴控制 (同时受1的影响)3、不同panel 相同atlas sprite受z轴控制 (同时受1的影响)4、不同panel 不同atlas sprite受z轴控制 (同时受1的影响)
2013-07-22 22:55:55
934
原创 NGUI--ScrollView笔记
这个只是笔记只是为了记录简单的ScrollView实现请兄弟们别喷!布局:第一步: 选择菜单上的NGUI->Create a new UI,创建原始的GUI对象结构。第二步: 由于ScrollView一般是单纯一块Panel,所以第二步是创建Panel:在菜单上选择NGUI->Create a Panel,改名为Panel_ScrollView;第三步: 在Panel_Scrol
2013-07-21 17:08:20
1873
转载 [Shader 着色器]边缘高光
保存 图片:未命名.jpg图片:QQ截图20120830125443.png先上图,等会再将研究心得发布,如果想一起研究我有源代码,要的回复 附上shader代码: Shader "Toon/Basic Outline" { Properties { _Color ("Main Color", Color) =
2013-07-21 09:53:19
2239
转载 Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)
异步任务相信大家应该不会陌生,那么本章内容MOMO将带领大家学习Unity中的一些异步任务。在同步加载游戏场景的时候通常会使用方法 Application.LoadLevel(“yourScene”); 这句代码执行完毕后程序会干什么呢??如下图所示,这是我随便找了一个游戏场景, 在Hierarchy视图中我们可以看到该场景中“天生”的所有游戏对象。天生的意思就是运行程序前该场景中就已经存在的所
2013-07-18 09:13:12
819
转载 unity3D 功能脚本备忘【2】(属性)
编译器属性属性介绍用例AddComponentMenu在Component菜单中添加新的菜单项[AddComponentMenu("Duan/Script/TestScript")]ContextMenu在当前脚本的组件中添加右键菜单内容 ExecuteInEditMode让当前脚本可以在运行模式中实时更新修改
2013-07-17 23:19:50
898
转载 unity3D 功能脚本备忘【1】(方法)
延迟执行某方法[csharp] view plaincopyprint?void Start () { //重复调用 InvokeRepeating("LaunchProjectile", 1,5);//1秒后调用LaunchProjectile () 函数,之后每5秒调用一次 //调用一次 Invoke(
2013-07-17 23:14:47
804
转载 Unity3D NGUI动态创建按钮
以动态创建服务器列表为例。[csharp] view plaincopyprint?public UIAtlas mAtlas; public UIFont mFont; public string mSriteName; public GameObject Playerlist; /// /// 动态加载一个N
2013-07-17 23:11:38
2288
转载 Unity3D NGUI UIButtonTween动画事件详解
终于开始正式学习NGUI了~看官方demo很多动画效果都很炫,今天研究了下终于有所顿悟,原来这些效果的全是靠 UIButton Tween 实现的。下面翻译记录下各个属性的作用UIButton TweenTween Target:被控制的物体,默认是自己。Tween Group:控制的动画组 (控制Tween动画对一个的该属性)。Trigger:触发此脚本的事件;(只有鼠标
2013-07-17 23:06:34
1134
转载 NGUI研究院之制作转圈的技能CD特效(八)
昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形根据数学算法来绘制一个圆形的网格、通过动态绘制圆形网格的方法来实现技能CD特效。奶奶的昨天我研究了一晚上,终于做出来了。可是今天突然发现NGUI已经实现这个功能了,,真是坑爹啊啊~~~55555555555,在技能图标上面放个半透明的精灵,用来做技能冷却的特效,如下图所示,我就用NGUI中的图标来带代替。
2013-07-17 23:00:04
1879
转载 NGUI研究院之Sprite精灵与精灵动画的使用(二)
原创文章如需转载请注明:转载自雨松MOMO程序研究院本文链接地址:NGUI研究院之Sprite精灵与精灵动画的使用(二) 学习了几天Unity3D强大的NGUI插件,MOMO觉得NGUI中最大的亮点之一就是Sprite精灵。我们先说说精灵是什么东西?它可以在一张大图中去截取一部分(大图就是整体图像集合,而截取的小图就是一个精灵),然后起一个精灵的名称,使用时通过精灵的名
2013-07-17 22:57:24
853
转载 Unity3D插件NGUI之Scorll View(滑动图标)的制作(简洁版)
用Unity3D开发的人员都知道NGUI在UI制作方面是一个强大的的插件,当然里面也有Scorll View的制作例子。在这里我来和大家交流交流我在开发中运用NGUI的一些心得!首先,我们知道NGUI自己有一套树形的层级关系图,很多时候我们只能在这些树形的层级结构下创建一些NGUI实例。其实在这个层级关系图中最重要的就是NGUI给我们提供的那些脚本和方法,只要了解了这些脚本和方法,你可以任意的
2013-07-17 22:52:21
895
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人