关于unity3D的GL图像库的使用】的更多相关文章

GL图象库 GL图象库是底层的图象库,主要功能是使用程序来绘制常见的2D与3D几何图形.这些图形具有一定的特殊性,他们不属于3D网格图形,只会以面的形式渲染.使用GL图象库,可在屏幕中绘制2D几何图形,并且该几何图形将永远显示在屏幕当中,不会因为摄象机的移动而改变.2D图形的呈现方式和前面章节介绍的GUI有点类似,值得注意的是,绘制2D图像时,需要使用GL.LoadOrtho()方法将图形映射在平面中:如果绘制的是3D图形,就无须使用此方法. 使用GL图象库时,需要将所有绘制相关的内容写在OnP…
1.绘制2D图像的时需要使用GL.LoadOrtho()方法来将图形映射到平面中. 2.所有绘制相关的内容都要写在OnPostRender()方法中. 3.有关GL图像库的脚本需要绑定到Hierarchy视图中Camera上,否则无法显示绘制的图像. 4.在GL图像库的平面坐标系中,每个点的横坐标和纵坐标都应当是0与1之间的浮点数,而真实的像素坐标需要根据这个浮点数来计算 一.绘制线 别忘了添加物理材质public Material material; using UnityEngine; us…
这个是画线部分 private Vector3[] linePoints; public int m_LineCount; public int m_PointUsed; public void RenderPath() { GL.Begin(GL.LINES); ; i < m_LineCount - ; ++i) { GL.Vertex(GetPoint(i)); GL.Vertex(GetPoint(i + )); } GL.End(); } 但是这个画线部分要放到   void OnPo…
void CreateLineMaterial()     {         if (!mat)         {             mat = new Material("Shader \"Lines/Colored Blended\" {" +                 "SubShader { Pass { " +                 "    Blend SrcAlpha OneMinusSrcAlp…
unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被特定的事件调用.最常用的列在下面:Update:这个函数在渲染一帧之前被调用,这里是大部分游戏行为代码被执行的地方,除了物理代码.FixedUpd 一. 脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函…
http://dong2008hong.blog.163.com/blog/static/469688272014031943118/ Unity3D脚本中文系列教程(五) 变量 ◆var collider : Collider 描述:被控制器碰到的碰撞器. ◆var controller : CharacterController 描述:碰到该碰撞器的控制器. ◆var gameObject : GameObject 描述:被控制器碰到的游戏物体. ◆var moveDirection : V…
前言 在使用Unity3D工程导出安卓安装包的时候,往往会遇到兼容性的问题,针对某些机型,要么无法打开游戏,要么会出现卡机的现象.面对这种情况,我们可以调节相关的参数来提高兼容性. 为了了解在打包时候每个参数的含义,我们查找了Unity3D的官方文档.为了清楚每个参数所起的作用以及每个参数对兼容性的影响因素,我们有针对性的做了对比实验,然后在安卓云测试平台(http://www.testin.cn)测试兼容性,将最终结果进行比较,最后提出优化方案. 文档说明 功能介绍 Unity4.5安卓打包参…
不是什么技术文章,纯粹是我个人学习是遇到一些觉得需要注意的要点,当成笔记. 1.关于调试,在Android下无法断点,Debug也无法查看,查看日志方法可以启动adb的log功能,或者自己写个GUI控件直接在屏幕上显示Info 2.所有自定义的编辑器扩展插件脚本必须放在Editor文件夹里,不然会导致编译程序时出错,放到Editor文件下,编译成游戏时才会忽略这些脚本 3.打包资源时,假设是在移动设备上使用,打包方式务必选择成:BuildTarget.AndroidBuildPipeline.B…
unity3D技术之事件函数的执行顺序 转自http://www.yxkfw.com/?p=13703   在unity的脚本,有大量的脚本执行按照预先确定的顺序执行的事件函数.此执行顺序说明如下: Editor Reset: Reset调用来初始化脚本的属性,当它第一次附加到该对象,并且使用Reset命令时. 第一次Scene Load scene启动 (一次为每个场景中的对象) 时,会调用这些函数. Awake:此函数始终是开始任何职能之前调用,并且也是在一个预置实例化之后.(如果一个游戏对…
原文:http://www.jianshu.com/p/1d93ece664e2 在Unity3D脚本中,有几个Unity3D自带的事件函数按照预定的顺序执行作为脚本执行.其执行顺序如下: 编辑器(Editor) Reset:Reset函数被调用来初始化脚本属性当脚本第一次被附到对象上,并且在Reset命令被使用时也会调用.编者注:Reset是在用户点击Inspector面板上Reset按钮或者首次添加该组件时被调用.Reset最常用于在见识面板中给定一个默认值. 第一次场景加载(First S…
学习地址:http://www.ixueyun.com/lessons/detail-lessonId-692.html 一.课程概述: 以前大部分3D游戏出现在pc和ps.XBox等专业游戏主机上,由于平台之间激烈竞争,跨平台开发的好处可以一次 编码多平台适用,节约开发成本.Unity3D是最专业.稳定.效率最高并且支持游戏平台最多的,可以跨9种主要游 戏平台:Web,PC,MAC,IOS,Flash,Android,XBox,PS3,WII.现在网游已不局限在电脑终端,手机与网页终 端也迅速…
Unity3D中脚本的生命周期是依照预先定义好的事件函数的运行流程来演化的,详细流程例如以下: Editor模式下Reset: 当脚本第一次被挂到GameObject上或用户点击Resetbutton时,Reset被调用初始化脚本属性,最经常使用于在Inspector视图中呈现好的默认值. 载入第一个场景First Scene Load: 场景启动时会对场景中的每一个对象运行一遍例如以下事件函数: Awake:游戏启动之前初始化不论什么变量和游戏状态,仅在脚本生命周期中调用一次.不能做协程,St…
http://dong2008hong.blog.163.com/blog/static/469688272014032134394/ WWWFrom 类Unity3D脚本中文系列教程(十三)辅助类.用来生成表单数据并使用WWW类传递到web服务器.// 获取一个截屏并上传到CGI脚本// 该CGI脚本必须能处理表单上传var screenshotURL = “http://www.my-site.com/cgi-bin/screenshot.pl”;// 截屏function Start()…
http://dong2008hong.blog.163.com/blog/static/4696882720140312627682/?suggestedreading&wumii Unity3D脚本中文系列教程(九) 类,继承自Behaviour. 用于light components的脚本接口.使用这个来控制Unity光源的所有方面.这个属性完全与现实在监视面板中的值相同.通常光源都是在编辑器中创建,但是有时候需要从脚本中创建.function Start () {    //制作一个游戏…
◆ static var matrix : Matrix4x4 描述:设置用于渲染所有gizmos的矩阵. 类方法 ◆ Static function DrawCube(center:Vector3,size:Vector3):void 描述:用center和size绘制一个立方体.function OnDrawGizmosSelected() {        //在变换位置处绘制一个变透明的蓝色立方体        Gizmos.color=Color(1,0,0,5);        Gi…
启动服务端成功截图: 连接成功截图: 测试服务端是否启动成功: 在Web输入:http://localhost:11009/  按回车 (查看cmd启动的服务端 是否多出如下显示) 服务端启动成功.PC unity3d客户端 连接也成功.但在手机端连接不成功 一直显示连接服务器有误 请检查网络 --------- beginning of /dev/log/system--------- beginning of /dev/log/mainD/Unity (32743): GL_EXT_debu…
Unity3d 镜面反射 网上能找到的基本上是固定管道或表面渲染的shader. 特此翻译为顶点.片段渲染的Shader, 本源代码仅仅涉及shader与cs部分. Editor部分使用NGUI绘制的, 请自行下载NGUI unity3d 版本号:v4.3.1 ReflectionMirror.cs using UnityEngine; using System.Collections; using System; /// <summary> /// 反射效果 /// </summary…
在VR开发时,有时需要用到物体高亮的功能.这里使用Highlighting System v3.0.1.unitypackage插件实现. Highlighting System v3.0.1的介绍访问看这里: https://forum.unity3d.com/threads/highlighting-system-released.143043/ 因为是VR环境下,所以也需要SteamVR Plugin.unitypackage插件. 实现步骤 step1: 导入插件 按照 Assets->…
本文主要讲实现过程的一些坑. 先说下要实现的目标,主要功能在UE4/Unity中都要用,能同时捕获多个摄像头,并且捕获的图片要达到1080p25桢上,并且需要经过复杂的图片处理后丢给UE4/Unity3D,并且要CPU要占用小,以便在UE4/Unity有大的余地做更多的事件. 市面上一般1080p后的摄像头,在20桢以上都不会提供原生的rgba32数据,一般常见的有压缩格式mjpg,末压缩的一般是nv12,牛点的会提供yuv2,正常的实现会把内存流里的数据提供给对应的UE4/Unity3D,然后…
首先看看MonoBehaviour的生命周期 先上个图(来源 http://blog.csdn.net/qitian67/article/details/18516503): 1.Awake 和 Start的区别 相信很多人都有个类似的疑惑: 在MonoBehaviour中,为什么会有Awake 和 Start 函数? 他们又有何区别? 这个在我初学U3D时也有过的疑惑,但是通过实践得出结论,Awake 会在MonoBehaviour 创建时候即被调用,相当于构造函数.而Start 函数 会在下…
在Unity3D脚本中,有几个Unity3D自带的事件函数按照预定的顺序执行作为脚本执行.其执行顺序如下: 编辑器(Editor) Reset:Reset函数被调用来初始化脚本属性当脚本第一次被附到对象上,并且在Reset命令被使用时也会调用.编者注:Reset是在用户点击Inspector面板上Reset按钮或者首次添加该组件时被调用.Reset最常用于在见识面板中给定一个默认值. 第一次场景加载(First Scene Load)这些函数会在一个场景开始(场景中每个物体只调用一次)时被调用.…
教程目录 基础讲:Shader学习方法基础讲:基础知识特别讲:常见问题解答特别讲:CG函数 第一讲: Shader总篇第二讲: Fixed Function Shader 第三讲: Vertex&Fragment Shader基础 第四讲: 制作一个美丽的地球第五讲:LOGO闪光效果 第六讲:TexGen第七讲:流程图第八讲:Why CG?第九讲:Render Path第十讲:雾化第十一讲:阴影面剔除及深度测试第十二讲:alpha测试第十三讲:alpha混合第十四讲:Surface Shader…
AssetBundle 类,继承自Object.AssetBundles让你通过WWW类流式加载额外的资源并在运行时实例化它们.AssetBundles通过BuildPipeline.BuildAssetBundle创建. 参见:WWW.assetBundle ,Loading Resources at Runtime ,BuildPipeline.BuildPlayer function Start () { var www = new WWW ("http://myserver/myBund…
Unity3D中提供了很多API用于向shader传值,这篇文章对比测试了两类不同的使用方法的性能. 正文 Unity3D中,通过C#代码向shader传值有两种方式. 一种是面向具体的material,另一种是面向所有的material. 以上两种方式分别对应下面两类API: Material.SetXXX(): Shader.SetGlobalXXX(); 例如,现在的需求是,需要每帧向shader传递一个offset.一个scale.和一个alpha. 普通的做法是: 在shader中添加…
Project(工程.项目):工程是把游戏开发当前所需要的资源归类管理用的. Console控制台:日志.报错.调试,右上角,消息过滤 Assets:资源,存储游戏中一切用到的资源 Library:临时库文件 ProjectSettings:项目设置.项目控制 Temp:临时文件夹 UnityPackageManager:资源包 工程迁移: Assets.ProjectSettings.UnityPackageManager,这三个文件夹必须拷贝走 如果报错,先删掉Library和Temp,再重…
事件函数的运行顺序 Unity 脚本中有很多按预设顺序以脚本身份执行的事件函数. 其执行顺序例如以下: 载入第一个场景 启动场景时调用这些函数(为场景中的每一个对象调用一次). Awake: 始终在调用不论什么 Start 函数之前和实例化预设之后调用此函数. (假设游戏对象 (GameObject) 在启动期间处于非活动状态,则直到其处于活动状态时或调用加入至其本身的不论什么脚本中的函数时,再调用 Awake 函数. ) OnEnable: (仅当对象 (Object) 处于活动状态时调用此函…
GL.MultMatrix与OpenGL固定管线的glMultMatrix函数行为并不一致,不是累乘,而是覆盖. 例如下面例子,本来预期是在(100,100)处画一个方块,而实际效果却是在(0,0)处画一个方块: GL.PushMatrix();  GL.LoadPixelMatrix();  {   //mult matrix   Matrix4x4 mat1 = Matrix4x4.TRS(new Vector3(100,100,0),Quaternion.identity,Vector3.…
http://blog.csdn.net/asd237241291/article/details/48548557 首先附图:Unity3D for Android支持的纹理压缩格式 纹理压缩可以通过减少内存来显著地提高OpenGL的性能,使内存使用的效率更高. Android设备支持很多格式的纹理压缩,这些纹理压缩格式并不是在所有的设备上面都支持,根据GPU芯片和OpenGL实现的不同略有差异. 一些常见的纹理压缩格式有以下几种: DXT(Tegra)-NVDIA分为DXT1-DXT5这五个…
当变量重命名后,已序列化保存的值会丢失,如果希望继续保留其数值,可使用FormerlySerializedAs,如下代码所示: [UnityEngine.Serialization.FormerlySerializedAs("hp")] ; Unity有个隐藏的彩蛋:void Main(){},它的调用在Awake() OnEnable()之后Start()之前. unity对文件名以点开头的文件视而不见 当用enum枚举值作为Dictionary的key,在访问字典时则会产生GC,应…
之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体的作用: 可以重复的创建具有相同结构的游戏对象. .1下面来讲解一下如何制作一个简单的预设体(上下为流程和结果图): .2 创建多个prefabs_new(代码,结果图): using UnityEngine; using System.Collections; //[ExecuteInEditMo…