[置顶] Unity移动端动态阴影

译文: https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch10.html基于Cubemap的动态软阴影ARM公司曾利用Unity开发过两款技术Demo(Ice Cave 和 Chess Room),里面充分发挥了Cubemap的强大威力—既用来做地面反射、冰块折射,还用来做动态软阴影,利用简单的技术做出了高品质的画面。下面是Ice C...
阅读(159) 评论(0)

[置顶] Havok物理引擎与Unity3D的结合

背景  在重度手游的研发过程当中,游戏中的车辆模拟,场景互动,特效展示等功能很多时候需要物理引擎的介入,以提供丰富的交互体验。目前3D手游的开发主要工具是使用Unity3D引擎,于是,如何在Unity3D的开发过程中结合入物理功能变一个需要仔细考虑的问题。  我们考察的2种物理效果实现方案:Unity3D物理引擎和Havok物理引擎。  Unity3d物理引擎介绍  Unity3d在内部集成了Ph...
阅读(1455) 评论(0)

[置顶] Unity3D 渲染路径

Unity渲染路径: Unity支持不同的渲染路径。您应具体取决于你的游戏内容和目标平台/硬件来选择使用哪一个。不同的渲染路径有不同的特点和性能特点,主要影响灯光和阴影如果图形卡不能处理选定的渲染路径,Unity将自动使用一个较低保真度的设置。因此,在GPU上不能处理延迟照明(Deferred Lighting),将使用正向渲染(Forward Rendering )。如果不支持正向渲染(Forw...
阅读(611) 评论(0)

[置顶] Unity5 GI与PBS渲染从用法到着色代码

本文主要介绍Untiy5以后的GI,PBS,以及光源探头,反射探头的用法以及在着色器代码中如何发挥作用,GI是如何影响渲染的,主要分成三个部分,最开始说明PBS需要的材质与相应概念,二是Unity 里相应GI的操作,三是对应着色器代码的理解。如果没有特殊声明,所有操作与代码都是针对Unity5.3.PBS材质与概念  简单来说,PBS的优点不同的照明下获得一致的外观,更容易实现,更直观的参数。PB...
阅读(7301) 评论(1)

[置顶] Unity 5 中的全局光照技术详解

简介全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常有挑战性,付出的代价也高,正因为如此,现代游戏会先一定程度的预先处理这些计算,而非游戏执行时实时运算。同一场景里:没有照明(左),只有直接光源(中),和有间接光源的全局光照(右)的表现,注意颜色如何在不同的表面进行光的”反弹”,产生更真实的结果。在本文中,我们会描述全局光照如何在Unity里运作,带领你通...
阅读(2665) 评论(3)

[置顶] UGUI 全方位了解

随着 unity3d 4.6 ~ 5.x + 新 UI 系统终于与大家见面了。这篇文章将不会介绍如何使用按钮、滚动条之类的UI控件,这些内容可以参考 Unity Manual;这篇文章的重点是,如何理解 UI 系统的设计,以便更好的在实际中使用它。 RectTransformUnity UI 系统使用 RectTransform 实现基本的布局和层次控制。RectTransform 继承于 Tra...
阅读(2719) 评论(1)

[置顶] UGUI 技术点笔记 (干货走起)

如果不太熟悉UGUI的同学,请补充一下UGUI教程,这里就不一一说明了.NGUI  与 UGUI 区分:// -------------------------------------------------打包图集: (为了优化图集,我们可以选择把带透明通道图片 和 不带透明通道的图片分开打图集,这样可以减少内存的占用量)NGUI:在打包图集的时候图集的默认格式是RGBA32,也就是支持带透明通...
阅读(7470) 评论(0)

[置顶] U3D批处理的静态与动态问题

在屏幕上渲染物体,引擎需要发出一个绘制调用来访问图形API(iOS系统中为OpenGL ES)。每个绘制调用需要进行大量的工作来访问图形API,从而导致了CPU方面显著的性能开销。 Unity在运行时可以将一些物体进行合并,从而用一个绘制调用来渲染他们。这一操作,我们称之为“批处理”。一般来说,Unity批处理的物体越多,你就会得到越好的渲染性能。 Unity中内建的批...
阅读(4093) 评论(0)

[置顶] U3D开发性能优化笔记(待增加版本.x)

U3D开发性能优化笔记: .NGUI: Atlas优化; .poolmanager使用; .控制同屏drawcall次数; .SHADER优化顶点和运算; .合批与动态剔除; .逻辑部分优化;(如看到不到的物件不要做公告板位置运算,不要播放animation) .物理帧UPDATE降低; .关闭垂直同步,降低图片采样,声音预加载 方案 等...
阅读(5219) 评论(0)

[置顶] 使用LUA 热更新模块

最近准备在手机项目客户端中使用lua, 以前一直在服务器使用luabind. 另外, tolua++也体验过, LuaPlus也在早年用过. 以下是本人对这些绑定库的个人感觉: luabind 利用boost机制把绑定做到极致, 比较适合主c++, 弱lua的脚本框架. 作者已经停止更新, 在windows/linux编译没问题, 但是在ios的LLVM下, 无法编译 to...
阅读(1884) 评论(0)

[置顶] IOS后台运行机制 与 动作

当用户按下"Home"键或者系统启动另外一个应用时,前台foreground应用首先切换到Inactive状态,然后切换到Background状态。此转换将会导致先后调用应用代理的applicationWillResignActive:和applicationDidEnterBackground:方法。   在applicationDidEnterBackground:方法返回后,大部分应用...
阅读(3480) 评论(0)

[置顶] libevent的使用(socket)

这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续做自己的事情,实际的读写操作由系统在合适的时候调用我们程序注册的接口进行。异步编程会给一些程序猿带来一些理解和编写上的困难,...
阅读(2898) 评论(2)

[置顶] 初识 Swift编程语言(中文版)

前言 今天Apple发布了新的编程语言Swift,也提供了一本将近400页的 The Swift Programming Language(Swift编程语言)。 虽然我没有开发者账号,没法实际上机练习Swift代码,但这不影响我阅读这本书,以及用铅笔在纸上运行这些小程序。 Apple的东西如此之火爆,Swift一经推出大家纷纷转投iOS/OS X怀抱,相信不久就能出现中文版的相关书籍,而各...
阅读(2167) 评论(0)

[置顶] 【C++11】30分钟了解C++11新特性

什么是C++11 C++11是曾经被叫做C++0x,是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库(STL),并入了大部分的C++ Technical Report 1(TR1)程序库(数学的特殊函数除外)。 C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto、decltype,和模板的大量改进。 本文将对...
阅读(1245) 评论(2)

[置顶] phoneGap开发IOS,JS调用IOS方法/phoneGap插件开发

开始代码 这个是目录结构 在Plugins下新建文件(在Plugins上右键-new file选择Objective-c class)输入名字(CDVMyPlugin)  next…… 这世间你会发现在Plugins下面有两个文件,分别是:CDVMyPlugin.h和CDVMyPlugin.m CDVMyPlugin.h内容: #impor...
阅读(2925) 评论(0)

[置顶] 基于C++和JavaScript的全平台全栈式游戏开发解决方案的思考

一、JavaScript的机会 近几年JavaScript在各个领域愈发流行起来。JS已经逐渐摆脱了只能做web的局限,在前端,后端,Native,Web,游戏,应用等各个领域遍地开花。 Cocos2d-x支持两种脚本系统,Lua和JavaScript。考虑到未来的趋势,我选择JavaScript。因为JavaScript和C++配合未来能够覆盖到很多主流应...
阅读(1484) 评论(0)

[置顶] JavaScript-C/C++ (SpiderMonkey) 引擎嵌入开发指南(中文向导)

JavaScript-C引擎概览 本文档提供了一个JavaScript(JS)引擎的C语言实现的概述,他介绍了你如何在你的应用程序中嵌入脚本引擎来让它们可以使用JS。有两大理由让你在应用程序中嵌入JS引擎:使用脚本来自动操作你的应用程序;同时使用JS引擎和脚本无论何时都可以提供跨平台的功能并消除了应用程序解决方案对平台的依赖性。 受支持的JavaScript版本 本JS引擎支持从...
阅读(4701) 评论(1)

[置顶] 功能强大的JavaScript引擎--SpiderMonkey与实现

JavaScript是由Netscape开发的对象脚本语言,其特点是开发简单、功能灵活,目前已广泛应用于WEB页面及服务器应用程序中。HTML本身是静态的、不允许用户干预,但用JavaScript编写的脚本程序就可以在用户的浏览器端运行,可以同用户进行交互,从而实现动态页面。可以将JavaScript与嵌入WEB的大多数对象的事件(如鼠标点击、移动等)相关联,然后用自己的方式处理这些事件。Java...
阅读(2188) 评论(0)

[置顶] SpiderMonkey 脚本化您的应用

和其他的 JavaScript 引擎一样,SpiderMonkey 不直接提供像 DOM 这样的对象,而是提供解析,执行 JavaSccript 代码,垃圾回收等机制。SpidlerMonkey 是一个在 Mozilla 之下的开源项目,要使用 SpiderMonkey,需要下载其源码,然后编译为静态 / 动态库使用。 要在自己的应用程序中使用 SpiderMonkey,首先需要了解以下三个...
阅读(4987) 评论(0)

[置顶] SpiderMonkey-让你的C++程序支持JavaScript脚本

译序 有些网友对为什么D2JSP能运行JavaScript脚本程序感到奇怪,因此我翻译了这篇文章,原文在这里。这篇教程手把手教你如何利用SpiderMonkey创建一个能执行JavaScript脚本的C++程序,并让JavaScript脚本操纵你的C++程序的内部数据、操作。从这篇教程可以看到在SpiderMonkey引擎的帮助下,让C++程序支持JavaScript脚本是一件很容易的事,更...
阅读(1462) 评论(0)

[置顶] 揭秘IT人才特点:中美印日四国程序员比较

最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公司内部的程序员能力也有了更深入的了解。我觉得编程能力对程序员而言,虽然很重要,但并不是全部。那么作为一个程序员,到底应该具备什么样的能力呢?这个话题显然太大。不过我觉得可以看看其它国家的程序员,也许可以得到一些借鉴。我有幸和中国,美国,印度和日本四国程序员有比较深入的合作过。虽然他们不一定有代表性,但我觉得他们的共性还是比较明显的。以下的...
阅读(3017) 评论(5)

[置顶] cocos2d-x 通过JNI实现c/c++和Android的java层函数互调

文章摘要: 本文主要实现两个功能: (1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数。 (2)通过c++函数调用Android的java层函数,显示一个对话框,点击按钮退出程序。 1. 首先来简单学习一下JNI的相关知识,我这篇文章中简单实现了怎么在Android Java层调用c++函数。要想使用JNI,必须得…...
阅读(5448) 评论(3)

[置顶] XNA Shader

XNA Shader编程教程1-环境光照 Shader简史 在DirectX8之前,GPU使用固定方式变换像素和顶点,即所谓的“固定管道”。这使得开发者不可能改变像素和顶点转化和处理的进程,使大多数游戏的图像表现看起来非常相似。 DirectX8提出了顶点和像素着色器,这让开发者可以在管道中决定如何处理顶点和像素,使他们获得了很强的灵活性。 一开始shader编程使用汇编语言程序使用...
阅读(3129) 评论(0)

[置顶] WEBSOKET服务器搭建

简单介绍一下tomcat的webSocketAPI使用: 在这里啰嗦几句:【 很多朋友听说webSocket不知道是什么。知道是什么不知道怎么用,知道怎么用不知道具体实现。其实我当初也是这样。 实际上webSocket可以简单的理解为用浏览器与服务器简历socket连接,但是用了一个特殊的协议,偶收协议,它与http协议发送的报头不一样。 websocket需要服务器和...
阅读(4797) 评论(2)

[置顶] WebSocket

互联网发展到现在,早已超越了原始的初衷,人类从来没有像现在这样依赖过他;也正是这种依赖,促进了互联网技术的飞速发展。而终端设备的创新与发展,更加速了互联网的进化; HTTP/1.1规范发布于1999年,同年12月24日,HTML4.01规范发布;尽管已到2012年,但HTML4.01仍是主流;虽然HTML5的草案已出现了好几个年头,但转正日期,遥遥无期,少则三五年,多则数十年;而HTML5的客户...
阅读(6799) 评论(1)

[置顶] Android NDK下编译google protocol buffer(protobuf)

前面发了一片windows下编译protobuf的文章 后来把生成的.a文件加到android工程后发现不可用 所以只好自己使用NDK编译protobuf了(虽然这样,生成的Inclule的头文件还是很有用的,可以直接用到jni的代码中) Android NDK编译protobuf 其实用NDK编译最大的难点就是make文件,把这个搞定就基本搞定了...
阅读(8992) 评论(5)

[置顶] GDB调试精粹及使用实例

一:列文件清单  1. List  (gdb) list line1,line2  二:执行程序  要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。  如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。  利用set args 命令就可以...
阅读(1077) 评论(0)

[置顶] Android游戏开发cocos2d-x调用Java层代码

通过JNI调用 准备工作: 首先用VS工程导入$cocos2d_Root\cocos2dx\platform\android\jni\JniHelper.h 接着导入$Java\jdk1.6.0_10\include\jni.h 再导入$Java\jdk1.6.0_10\include\win32\jni_md.h C++层代码 通过JNI调用 准备工作: 首先用VS工程导入$co...
阅读(2027) 评论(0)

[置顶] Android中的OpenGL ES简介

OpenGL ES软件层次栈,本章介绍了Android系统中OpenGL ES的调用层次栈,详细分析了库之间如何通过钩子(hook)实现API调用关联,让我们明白各个库之间的依赖关系。本节为Android中的OpenGL ES简介。 Android中的OpenGL ES简介 Android支持使用OpenGL(Open Graphics Library)API进行2D和3D图形的绘...
阅读(6185) 评论(0)

C++17中那些值得关注的特性(上)

C++17标准在2017上半年已经讨论确定,正在形成ISO标准文档,今年晚些时候会正式发布。本文将介绍最新标准中值得开发者关注的新特新和基本用法。总的来说C++17相比C++11的新特性来说新特性不算多,做了一些小幅改进。C++17增加了数十项新特性,值得关注的特性大概有下面这些:constexpr ifconstexpr lambdafold expressionvoid_tstructured...
阅读(78) 评论(0)

Xcode 在读写上提速100倍

上个月参加了一场西雅图当地的线下 iOS 开发者聚会。Jeff Szuhay 作为一个有20+年开发经验的资深程序员,跟我讲了一套提高 iOS 开发效率的方法。相比于其他程序员在 App 启动时间、架构优化方面的经验,老爷子 Jeff 的优化基于硬件层面,匠心独运,极客风十足。以下是他的经验分享和我个人的实测。问题来源我们都知道 Xcode 在运行或编译时,会有大量的读写操作。例如从硬盘中调用图片...
阅读(299) 评论(0)

Xcode9 新功能

翻译: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/WhatsNewXcode/xcode_9/xcode_9.html#//apple_ref/doc/uid/TP40004626新功能概述:设备环境:Mac OSX 10.12.5、iOS11、Xcode9 PS:这是WW...
阅读(337) 评论(0)

Mac OS 升级到10.12问题 Android ADT 下载SDK问题 https://dl-ssl.google.com refused...

缘由:更新sdk,遇到了更新下载失败问题:Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xmlFetched Add-ons List successfullyFetching URL: https://dl-ssl.google.com/android/repository/repository-8.xml...
阅读(697) 评论(0)

深入Guerrilla Games解密次世代开山大作《杀戮地带暗影坠落》(The technology of Killzone Shadow Fall)

文章摘要:这几天终于有时间,把全文翻译完了,自己感觉不是太满意,不过大家能看懂就好,就当一个学习的机会。整篇文章通过SONY第一方游戏工作室Guerrilla Games主创的语录,为我们展现了次世代大作的初次开发探索过程,个人感觉全文还是非常振奋人心的。文章首先从音频技术的创新谈起,由于机能的长足进步,通过技术底层架构的大量工作,使得游戏设计师的创意被极大的释放,不用时时刻刻纠缠忙碌的程序员,同...
阅读(249) 评论(0)

面向协议编程

接口是一系列可调用方法的集合。何为接口编程?接口编程是指当写一个函数或一个方法时,我们应该更加关注具体的接口,而不是实现类。具体理解可以参考这篇文章在OC中,接口又可以理解为Protocol,面向接口编程又可以理解为面向Protocol编程,或者面向协议编程。在Swift中,苹果大幅强化了 Protocol 在这门语言中的地位,整个 Swift 标准库也是基于 Protocol 来设计的,有兴趣的...
阅读(322) 评论(0)

Unity 5.5正式版发布,新功能预览!

Unity 5.5新功能主要包含以下几个关键点:新平台,新机会首先,我们不断扩大内容创作者接触新用户和新市场的机会。 Unity 5.5已正式支持Microsoft Holographic (HoloLens),现在就可以在Unity中开始探索增强与混合现实了。 我们还改善了IAP应用内购功能,无需编写代码即可使用 storefronts并添加对CloudMoolah商店的支持。更好地为设计师所用...
阅读(5057) 评论(3)

iOS10 权限崩溃问题

今天 手机升级了 iOS10 Beta,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息:This app has crashed because it attempted to access privacy-sensitive data without a usage description.  The app's Info.plist m...
阅读(934) 评论(0)

全栈必备Linux 基础

目录(?)[-]系统的选择体系结构Linux内核linux 文件系统Linux Shell 及命令Linux 应用Linux 几乎无处不在,不论是服务器构建,还是客户端开发,操作系统的基础技能对全栈来说都是必备的。系统的选择Linux发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。Redha...
阅读(649) 评论(0)

iOS10 IDFA 获取不到问题解决

中文说明文档背景advertisingIdentifier 的说明文档看到这样一句话:Important In iOS 10.0 and later, the value of advertisingIdentifier is all zeroes when the user has limited ad tracking. 也就是说在iOS10上,用户如果开启了 限制广告跟踪 , 获取的idf...
阅读(5473) 评论(0)

Unity和Cocos2D在2D游戏开发上的对比

Unity和Cocos2D在2D游戏开发上的对比CasualArena团队自从2008年开始就在开发Flash网页游戏。过去的一年里,他们学习不同的技术以及和3D的专业开发 ,拥有了在跨平台的移动游戏和平板游戏上的专业开发经验。这篇文章强调了这两个平台的不同环境以及它们之间各自不同的特点。大多数的移动游戏和平板游戏开发者都希望他们开发的游戏可以运行在不同的平台上,至少能够在IOS和安卓平台上运行。...
阅读(7918) 评论(0)
292条 共20页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1133206次
    • 积分:11877
    • 等级:
    • 排名:第1248名
    • 原创:153篇
    • 转载:105篇
    • 译文:34篇
    • 评论:140条
    博客专栏
    最新评论