Unity安卓平台shader平台丢失 Unity的工程切换到Android平台后,运行游戏出现shader丢失 解决办法:在Unity桌面图标的快捷方式后添加 -force-gles20 示例:"C:\Program Files\Unity_5_3_7_p4\Editor\Unity.exe" -force-gles20…
问题一:使用AB加载资源,资源中包含有第三方shader,加载出的资源出现shader丢失的显示问题 这是因为Unity在打包的时候,会进行资源精简,默认情况下,是不会将第三方shader打包进入包体的. 为了解决问题,我们需要按照以下步骤操作: Edit->ProjectSetting->Grahpics->Always Included Shaders,在这里面加入要使用的shader. 问题二:在编辑器中,即便按照一中的方式做了,但是还是看不到shader效果 这个问题,可以不用解…
「游戏引擎 浅入浅出」从零编写游戏引擎教程,是一本开源电子书,PDF/随书代码/资源下载: https://github.com/ThisisGame/cpp-game-engine-book 4.1 Unity Shader和OpenGL Shader 上一节提到,OpenGL Shader是配套出现的, Vertex Shader(顶点着色器).Fragment Shader(片段着色器/像素着色器),两者缺一不可. 但是我用了20年Unity都没有见过类似的代码,这是咋回事,Unity跳过…
功能概述 储值功能,点击一个按钮(mSprites["Recharge"]),实现储值功能,在IOS平台上,该按钮下的功能全部隐藏,在安卓平台上正常显示按钮,实现相应功能 #if UNITY_IOS mSprites["Recharge"].gameObject.SetActive(false); #elif UNITY_ANDROID bool isOpen = Util.Verification.Verify(CONDITION_OPEN.VietnamReca…
转自http://www.itnose.net/detail/6117338.html 前文中完成最简单的漫反射shader只是单个光源下的漫反射,而往往场景中不仅仅只有一个光源,那么多个光源的情况下我们的物体表面的漫反射强度如何叠加在一起呢?前文打的tag "LightMode"="ForwardBase"又是什么意思呢? Unity内置的DiffuseShader,也就是我们创建一个Material出来时默认的Shader也是多光源的,所以这篇文章完成的shad…
专业做视频编解码的SDK开发工作. 2015年12月1日10:46:55: 更新到1.5.0版本 功能列表: 基本播放: 1,正常播放, 支持MP4,FLV,AVI,TS,3GP,RMVB,WM,WMV格式视频. 2,网络流播放, http,rtsp,rtmp,mms,m3u8 3,软硬解自动切换.完全支持软硬解.并软解功能支持NEON指令,多线程解码. 4,读取视频总时间,当前播放时间, 定位指定播放,读取媒体信息,暂停/开始,停止. 5,提取视频缩略图. 6,提供通用播放器需要的左滑动,右半…
[前言] 对于手游来说,什么时候需要推送呢?玩过一些带体力限制的游戏就会发现,我的体力在恢复满后,手机会收到一个通知告诉我体力已完全恢复了.这类通知通常是由本地的客户端发起的,没有经过服务端. 在安卓应用中,本地通知推送是通过调用系统级服务NotificationManager实现的.虽然U3D本身也有NotificationServices类可以进行通知推送,但仅限于iOS平台(这篇博文讲了怎么使用它在iOS平台发起本机推送). 而现在我们的游戏是使用U3D开发的,并不能像安卓开发一样直接在代…
Shader丢失算是老生常谈了 从刚开始接触Unity时,从别的地方拿过来模型导入 就认识了一个标志性的颜色 就是粉色,或者是紫色 当在Unity中遇到这种颜色 不用怀疑 绝对是Shader或者材质丢失了 这种现象在发布iOS或者Android的时候经常出现 因为编辑器中的Shader,在移动端是不一定兼容的 而这次小编遇到的是一种奇葩的现象 在编辑器运行的好好的 打包成exe文件居然Shader丢失了 按道理说兼容性问题是肯定不存在的 翻了下资料,才把这个问题解决了 Edit->Project…
(一)平台构建与Opengl的hello World OpenGL就是3d绘图的API,微软针和它竞争推出D3D,也就是玩游戏时最常见的DirectorX组件中的3d功能. 所以不要指望windows提供对Opengl提供最新的什么支持. C#的开发环境也没有封装Opengl的组件,Opengl的官方的dll是供C,C++开发用的.要想用在C#中你得自己导入DLL函数.但我相信你不会这样做的,还是引入第三方的Opengl库来得方便. SharpGL就是C#用的OpenGL库,之所以选择它,是因为…
    本节和大家一起新建一个项目工程,并通过cygwin迁移至android平台.      以下是本节主要内容: 利用cocos2d-x自带脚本,生成测试工程,并测试运行: 将该测试项目通过cygwin生成apk文件,迁移至安卓平台运行. 一.生成测试项目     cocos2d-x 2.1.4版本不同于之前版本,该版本通过cocos2d-x-2.1.4\tools\project-creator\create_project.py 脚本新建项目,生成的项目位于cocos2d-x 根目录的…
前文中完成最简单的漫反射shader只是单个光源下的漫反射,而往往场景中不仅仅只有一个光源,那么多个光源的情况下我们的物体表面的漫反射强度如何叠加在一起呢?前文打的tag "LightMode"="ForwardBase"又是什么意思呢?Unity内置的DiffuseShader,也就是我们创建一个Material出来时默认的Shader也是多光源的,所以这篇文章完成的shader与默认的diffuse shader基本效果一致.首先引入几个概念渲染路径 Rende…
如果前面几个系列文章的内容过于冗长缺乏趣味着实见谅,由于时间原因前面的混合部分还没有写完,等以后再补充,现在开始关于反射的内容了.折射与反射在物理世界中,光的反射与折射往往是同时存在的,光源由真空或者空气中射入一种材料,光在进入这种材料的同时就发生了折射,折射的程度与各个介质的折射率有关,使光的传播路线偏离原来的路线:继而如果光在通过不同传播介质的表面时,会像乒乓球一样弹回来,我们人眼能够看到东西,都是因为东西会反射光源,如果一种物质无法反射光,或者没有光源,我们就看不到东西.同样对于不同的材料…
副标题:搭建基于MinGW平台的<OpenGL超级宝典>(OpenGL蓝皮书第5版)GLTools 编译环境.示例代码:Triangle.cpp @ SB5.zip 以下内容以及方法均参考自老外在stackoverflow上的回答,强烈建议看看原文,因为他告诉你解决问题的思路而不只是给你结果opengl-superbible-5th-edition-set-up-problems 1. 还未安装MinGW的,去官网下一个,我这里用的是第三方的安装包 TDM-GCC  32位下载地址 2. 到…
使用了几天的UE4 ,总算是将游戏在安卓平台执行起来了.当中遇到非常多问题,而且终于依旧有一些问题没能解决. 整体感觉是UE4这款引擎眼下还不够成熟.问题较多. 没有unity使用起来方便. 可是既然开放了,发展必定迅猛.值得期待.其代码也值得游戏开发编程人员研究. 我们来看看详细步骤: 首先.编译出引擎.对于学习目的来说.从网上下载一份就够了,编译步骤简单的描写叙述一下:我们把下载的代码解压到指定的文件夹,包含UnrealEngine-4.*.*-release.7z,Required_1of…
(一)平台构建与Opengl的hello World OpenGL就是3d绘图的API,微软针和它竞争推出D3D,也就是玩游戏时最常见的DirectorX组件中的3d功能. 所以不要指望windows提供对Opengl提供最新的什么支持. C#的开发环境也没有封装Opengl的组件,Opengl的官方的dll是供C,C++开发用的.要想用在C#中你得自己导入DLL函数.但我相信你不会这样做的,还是引入第三方的Opengl库来得方便. SharpGL就是C#用的OpenGL库,之所以选择它,是因为…
1.jvm虚拟机提供的运行空间小于项目所需的空间是报错.如图: 解决方法:在环境变量中配置jvm的运行内存大小,大于所需的内存即可. 其中:-Xmx512M可根据实际提示情况,进行更改,如1024M,2048M. 2.执行ionic cordova build  android时,提示不存在相应的安卓平台. 解决方法:打开安装好的SDK,运行SDK.exe程序下载相应编号的安卓平台即可.如(plageform 26即代表安卓8.0).…
写在前面 三个月以前,在一篇讲卡通风格的Shader的最后,我们说到在Surface Shader中实现描边效果的弊端,也就是只对表面平缓的模型有效.这是因为我们是依赖法线和视角的点乘结果来进行描边判断的,因此,对于那些平整的表面,它们的法线通常是一个常量或者会发生突变(例如立方体的每个面),这样就会导致最后的效果并非如我们所愿.如下图所示:…
***************************************转载请注明出处:http://blog.csdn.net/lttree****************************************** 题外话: 暑假,重拾cocos2d-x,一年没有接触了,更新到3.0,搭建安卓环境不须要cygwin了. 简单了好多呀,就是新建的时候有点麻烦= =. 正文: 一.前期准备工作: 准备几个软件: 1.JDK    地址:http://www.oracle.com/t…
手头一块RK3288的板子,在板子上测试了一张1080p的彩色图灰度转换的OpenCL例子.OpenCL没有任何优化.例子请移步这里. 该例子是编译成安卓平台下的可执行程序. 进入jni文件夹,进行如下操作: 对于我的环境,是把可执行文件,kernel.cl和图片push到设备的//mnt/sdcard/opencl/gray路径下.请自行选择. adb连接设备后,执行效果如下图: 对于统计的GPU的时间为:数据来回拷贝时间+kernels执行时间. 源码:https://github.com/…
前文曾经讲了关于在安卓平台上利用phonegap开发播放HLS的解决方案,其实最好的方案就是自己针对HLS视频开发自己的播放器,但是开发播放器是一个浩大的工程,必须对原生安卓开发非常熟悉,并且对视频播放知识需要一定的积累.对于一般开发人员,尤其是web开发人员来讲,这显然不现实,同时这也违背了我们采用phonegap来开发跨平台移动软件的初衷.那么在这种情况下如何达到我们预期的目标呢?答案是调用第三方应用. step1:首先需要在手机上安装一个能够播放HLS协议视频的播放器,例如MXplayer…
开发OpenGL项目时,在VS开发环境下可能会出现如图所示的错误. 在c:\windows\system32和SysWow64文件夹下存在opengl32.dll,此时,所写程序能够正常编译,但是,程序一但运行就提示 “无法启动此程序,因为计算机中丢失OPENGL.dll.尝试重新安装该程序以解决此问题.” 这时主要是因为同时引用了静态库“glut.lib”和"glut32.lib". 即在项目->属性->配置属性->链接器->附加依赖项中增加了glut.lib…
安卓平台版本和API版本对应关系…
在这个采访中,我们跟开源开发者Philipp Crocoll讨论了关于Keepass2Android的相关话题.Keepass2Android不仅具有强大的密码存储的功能,还是在一个单独的安卓应用同时使用Java和C#的很好的案例. InfoQ:能否介绍一下Keepass2Android设计初衷是为了解决什么问题? Keepass 2是一个强大的密码管理器,我已经使用了很长一段时间.它有一些很好的插件,比如可以集成到Chrome或者Firefox浏览器中的那些插件.我在手机上也使用Keepass…
转自http://www.itnose.net/detail/6096068.html 在上一个例子中,我们得到了由mesh组件传递的信息经过数学转换至合适的颜色区间以颜色的形式着色到物体上.这篇文章将要在此基础上研究片段的擦除(discarding fragments)和前面剪裁.后面剪裁(front face culling and back face culling)来达到透明效果. 当一个mesh组件的信息被传递后,我们可以通过代码决定哪些部分渲染(render)出来,而哪些部分不要,这…
Yomob 也是一个广告平台:他的使用方式比较简单哈,这里只说说他的步骤 按照官方文档说明配置环境,我使用的是eclipse,在eclipse上自己将文件copy到项目proj.android下,覆盖掉源目录 将项目下的libs目录下的所有的jar文件,选中右键build Path 添加如下代码到Manifest.xml文件的<application>标签下: <!-- Inmobi --> <activity android:name="com.inmobi.re…
最近公司的大厅要重做,我协助主程一起制作新大厅和新框架,前面制作的编辑器也派上了用场.等全部功能做完后我会再写一个复盘,这两天主程在忙于写热更新的功能,所以把接入分享SDK功能的任务交给了我,ShareSDK官网的文档比较分散,而且关于Unity的文档比较简略,所以还是有不少的坑.写篇博客分享一下,并加强理解记忆. 第一步,先去ShareSDK的官网下载最新版本的ShareSDK(完全免费).地址:http://www.mob.com/ 我们选择ShareSDK For Unity3D,页面会直…
在上一个例子中,我们得到了由mesh组件传递的信息经过数学转换至合适的颜色区间以颜色的形式着色到物体上.这篇文章将要在此基础上研究片段的擦除(discarding fragments)和前面剪裁.后面剪裁(front face culling and back face culling)来达到透明效果.当一个mesh组件的信息被传递后,我们可以通过代码决定哪些部分渲染(render)出来,而哪些部分不要,这个过程就像把那些不要的部分剔除了,我们看不到他,虽然他的mesh信息还在,但是我们的GPU…
在上一个样例中,我们得到了由mesh组件传递的信息经过数学转换至合适的颜色区间以颜色的形式着色到物体上. 这篇文章将要在此基础上研究片段的擦除(discarding fragments)和前面剪裁.后面剪裁(front face culling and back face culling)来达到透明效果. 当一个mesh组件的信息被传递后,我们能够通过代码决定哪些部分渲染(render)出来.而哪些部分不要.这个过程就像把那些不要的部分剔除了,我们看不到他.尽管他的mesh信息还在.可是我们的G…
转自http://www.itnose.net/detail/6098539.html 1.不透明度 当我们要将两个半透的纹理贴图到一个材质球上的时候就遇到混合的问题,由于前面的知识我们已经知道了片段着色器以及后面的环节的主要工作是输出颜色与深度到帧缓存中,所以两个纹理在每个像素上的颜色到底以怎样的形式混合在一起最后输出到帧缓存中是我们现在首要讨论的内容.    1.混合(blending)   上一篇文章中的管道环节中的“逐帧操作”环节中的一项操作就是混合操作,可见混合操作是不可编程的固定功能…
前文完成了最基本的镜面反射着色器,单平行光源下的逐顶点着色(per-vertex lighting),又称为古罗着色(Gouraud shading).这篇文章作为后续讨论更光滑的镜面反射方式,逐像素着色(per-pixcel lighting),又称为冯氏着色(Phong shading) 逐像素着色Per-Pixel Lighting (冯氏着色Phong Shading) 别把冯氏着色与冯氏反射模型搞混淆了,前问提到了冯氏反射模型,冯氏反射模型是为使计算机模拟接近真实的物体表面光泽提出的模…