UNITY3D
文章平均质量分 79
Kaitiren
热情开放的技术专家,从事游戏开发方面的各项工作!
DXDStudio(Design and Xperience Development Studio)
展开
-
【Unity3D 官方移动游戏优化指南】 摘要
翻译自《Optimize Your Mobile Game Performance EBook - V6 - May 2021》Unity总部电子书优化 iOS 和 Android 应用程序是支撑整个开发周期的重要过程。随着移动硬件的不断发展,移动游戏的优化及其美术、游戏设计、音频和变现策略在塑造玩家体验方面发挥着关键作用。iOS 和 Android 都有数十亿的活跃用户群。经过高度优化的移动游戏更有可能通过特定平台商店的认证。为了最大限度提高发布时及发布后获得成功的机会,必须始终朝以下目标迈进:打翻译 2021-08-17 16:04:32 · 339 阅读 · 0 评论 -
深入Guerrilla Games解密次世代开山大作《杀戮地带暗影坠落》(The technology of Killzone Shadow Fall)
文章摘要:这几天终于有时间,把全文翻译完了,自己感觉不是太满意,不过大家能看懂就好,就当一个学习的机会。整篇文章通过SONY第一方游戏工作室Guerrilla Games主创的语录,为我们展现了次世代大作的初次开发探索过程,个人感觉全文还是非常振奋人心的。文章首先从音频技术的创新谈起,由于机能的长足进步,通过技术底层架构的大量工作,使得游戏设计师的创意被极大的释放,不用时时刻刻纠缠忙碌的程序员,同转载 2017-03-28 16:01:24 · 937 阅读 · 0 评论 -
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转载 2016-09-27 11:02:50 · 1453 阅读 · 0 评论 -
iOS10 IDFA 获取不到问题解决
中文说明文档背景advertisingIdentifier 的说明文档看到这样一句话:ImportantIn iOS 10.0 and later, the value of advertisingIdentifier is all zeroes when the user has limited ad tracking.也就是说在iOS10上,用户如果开启了 限制广告跟踪 , 获取的idf翻译 2016-09-17 12:07:14 · 12512 阅读 · 0 评论 -
U3D开发性能优化笔记(待增加版本.x)
U3D开发性能优化笔记:.NGUI: Atlas优化;.poolmanager使用;.控制同屏drawcall次数;.SHADER优化顶点和运算;.合批与动态剔除;.逻辑部分优化;(如看到不到的物件不要做公告板位置运算,不要播放animation).物理帧UPDATE降低;.关闭垂直同步,降低图片采样,声音预加载 方案 等原创 2015-04-16 10:45:39 · 7324 阅读 · 0 评论 -
Unity官方文档之“图形性能优化-帧调试器”的翻译
Frame Debugger 帧调试器The Frame Debugger lets you freeze playback for a running game on a particular frame and view the individual draw calls that are used to render that frame. As well as listing the dr翻译 2016-07-18 11:21:38 · 2324 阅读 · 0 评论 -
Lightmass静态全局光照
文档变更记录: 由 Daniel Wright 创建。Lightmass静态全局光照概述版本遗留支持在新的地图中使用旧的UE3光照转换一个现有地图来使用LightmassLightmass功能区域光源和阴影带符号的距离场阴影漫反射的交互反射角色光照限制源于自发光的网格物体的区域光源限制半透明阴影半透明阴影颜色半透明阴影的尖锐度限制蒙板阴影环境遮挡限制使用Lightmass来获得最佳质量使光照变得显转载 2016-06-04 16:42:32 · 3211 阅读 · 0 评论 -
Unity 5 中的全局光照技术详解
简介全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常有挑战性,付出的代价也高,正因为如此,现代游戏会先一定程度的预先处理这些计算,而非游戏执行时实时运算。同一场景里:没有照明(左),只有直接光源(中),和有间接光源的全局光照(右)的表现,注意颜色如何在不同的表面进行光的”反弹”,产生更真实的结果。在本文中,我们会描述全局光照如何在Unity里运作,带领你通翻译 2016-05-24 18:22:24 · 3850 阅读 · 3 评论 -
UNITY3D 贴图格式压缩说明
UNITY3D 贴图格式压缩说明关于压缩后的在储存上的大小,假设高清(ARGB32)大小为1,那么大概数据如下:RGB PVRTC 4BITS:0.25ARGB PVRTC 4BITS:0.25RGB PVRTC 2BITS:0.13ARGB PVRTC 2BITS:0.13RGBA ETC2 4BITS:0.25RGBA ETC2 8BITS:0.25RGB + 1-bit ALPHA ETC2原创 2016-06-24 19:21:21 · 4184 阅读 · 0 评论 -
针对苹果最新审核要求为应用兼容IPv6
在WWDC2015上苹果宣布iOS9将支持纯IPv6的网络服务。2016年初开始所有提交到App Store的应用必须支持IPv6。为确保现有的应用是兼容的,我们需要注意下面几点。不建议使用底层的网络API下图展示的蓝色部分的这些API都是不存在兼容性问题的,而我们平时自己用的包括那些第三方的网络库大部分都是用的这些API。Networking frameworks and API layers大原创 2016-05-20 15:11:39 · 3443 阅读 · 0 评论 -
发挥GPU强大动力的CG语言
·CG推出的背景因素: 目前大部分的图形渲染系统的流水线由于各种原因,功能被限制为某些特殊效果,不具备扩充性,依据这些流水线编制的软件,只能实现特定的效果,这是一些游戏无法展现许多效果的罪魁。按道理,VertexShader和PixelShader的可编程性可以改变这一切,实际上问题远非如此简单,由于编程的困难,即使一些常用的API增添了很多专门为此编写的函数,为了实现理想的特殊效果,还是必须使转载 2016-05-03 09:31:59 · 1868 阅读 · 0 评论 -
iOS应用支持IPV6,就那点事儿
iOS应用支持IPV6,就那点事儿果然是苹果打个哈欠,iOS行业内就得起一次风暴呀。自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6,以及应用中哪些模块目前不支持IPV6。一、IPV6-Only支持是啥?首先IPV6,是对IPV4地址空间的扩充。目前当我们用iOS设备连接上Wifi、4G、3G等网络时,设备被分转载 2016-05-26 00:36:38 · 13501 阅读 · 2 评论 -
游戏引擎中三大及时光照渲染方法介绍(以unity3d为例)
重要:在目前市面上常见的游戏引擎中,主要采用以下三种灯光实现方式:顶点照明渲染路径细节 Vertex Lit Rendering Path Details正向渲染路径细节 Forward Rendering Path Details延迟光照渲染路径的细节 Deferred Lighting Rendering Path Details 以unity3d为例,以下将详细讲解三种灯光渲染方式的实现、翻译 2016-03-01 11:09:36 · 2954 阅读 · 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原创 2017-05-31 10:23:51 · 1935 阅读 · 0 评论 -
苹果抛弃 OpenGL !
▌苹果意欲淘汰跨平台图形技术 OpenGL 和 OpenCL日前的 WWDC 大会上,为了推广自家的 Metal 图形技术,苹果宣布了一个不太好的消息:随着 MacOS 10.14 Mojave 的发布,后续版本中将停用 OpenGL 和 OpenCL 接口——很多开发者对此十分不满,特别是游戏开发者,这两种跨平台图形技术的停用将会大大提高移植游戏的难度,甚至有部分游戏开发商扬言要“放弃 macO...原创 2018-06-08 15:28:38 · 9639 阅读 · 0 评论 -
cocos2dx-lua在ios上实现生成及扫描二维码
首先说明下,我是支持用iOS原生方法实现的。不过扫描二维码原生方法不支持ios7.0之前的设备,所以生成二维码用的原生方法实现,而扫描二维码用zBar sdk实现的(当然也可以用google官方的zXing sdk)。其中zBar中包含生成二维码的方法,而且更多样,我只是喜欢尽量用原生方法来实现。这里我把所有生成二维码的代码和lua调用的扫描二维码方法都放在了项目->frameworks->run原创 2017-09-26 20:26:38 · 2450 阅读 · 0 评论 -
Android .SO 文件的兼容和适配
开发 Android 应用时,有时候 Java 层的编码不能满足实现需求,就需要到 C/C++实现后生成 SO 文件,再用 System.loadLibrary()加载进行调用,这里成为 JNI 层的实现。常见的场景如:加解密算法,音视频编解码等。在生成 SO 文件时,需要考虑适配市面上不同手机 CPU 架构,而生成支持不同平台的 SO 文件进行兼容。目前 Android 共支持七种不同类型的 C原创 2017-09-26 20:18:46 · 504 阅读 · 0 评论 -
Eclipse接入第三方动态库.so方案
在Android.mk中加入如下代码####### third so begininclude $(CLEAR_VARS)LOCAL_MODULE:= agora-rtcLOCAL_SRC_FILES :=../prebuilt/$(TARGET_ARCH_ABI)/libagora-rtc-sdk-jni.soinclude $(PREBUILT_SHARED_LIBRARY)include $原创 2017-09-26 20:13:47 · 2901 阅读 · 1 评论 -
Unity移动端动态阴影
译文: https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch10.html基于Cubemap的动态软阴影ARM公司曾利用Unity开发过两款技术Demo(Ice Cave 和 Chess Room),里面充分发挥了Cubemap的强大威力—既用来做地面反射、冰块折射,还用来做动态软阴影,利用简单的技术做出了高品质的画面。下面是Ice C翻译 2017-08-02 10:12:42 · 1629 阅读 · 0 评论 -
C++17中那些值得关注的特性(上)
C++17标准在2017上半年已经讨论确定,正在形成ISO标准文档,今年晚些时候会正式发布。本文将介绍最新标准中值得开发者关注的新特新和基本用法。总的来说C++17相比C++11的新特性来说新特性不算多,做了一些小幅改进。C++17增加了数十项新特性,值得关注的特性大概有下面这些:constexpr ifconstexpr lambdafold expressionvoid_tstructured转载 2017-07-29 17:02:47 · 5740 阅读 · 0 评论 -
Unity3D 渲染路径
Unity渲染路径: Unity支持不同的渲染路径。您应具体取决于你的游戏内容和目标平台/硬件来选择使用哪一个。不同的渲染路径有不同的特点和性能特点,主要影响灯光和阴影如果图形卡不能处理选定的渲染路径,Unity将自动使用一个较低保真度的设置。因此,在GPU上不能处理延迟照明(Deferred Lighting),将使用正向渲染(Forward Rendering )。如果不支持正向渲染(Forw翻译 2017-06-14 18:08:39 · 2899 阅读 · 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翻译 2017-06-26 14:41:49 · 2703 阅读 · 0 评论 -
Havok物理引擎与Unity3D的结合
背景 在重度手游的研发过程当中,游戏中的车辆模拟,场景互动,特效展示等功能很多时候需要物理引擎的介入,以提供丰富的交互体验。目前3D手游的开发主要工具是使用Unity3D引擎,于是,如何在Unity3D的开发过程中结合入物理功能变一个需要仔细考虑的问题。 我们考察的2种物理效果实现方案:Unity3D物理引擎和Havok物理引擎。 Unity3d物理引擎介绍 Unity3d在内部集成了Ph转载 2017-07-12 22:43:43 · 31248 阅读 · 1 评论 -
Xcode 在读写上提速100倍
上个月参加了一场西雅图当地的线下 iOS 开发者聚会。Jeff Szuhay 作为一个有20+年开发经验的资深程序员,跟我讲了一套提高 iOS 开发效率的方法。相比于其他程序员在 App 启动时间、架构优化方面的经验,老爷子 Jeff 的优化基于硬件层面,匠心独运,极客风十足。以下是他的经验分享和我个人的实测。问题来源我们都知道 Xcode 在运行或编译时,会有大量的读写操作。例如从硬盘中调用图片原创 2017-07-12 22:33:41 · 1133 阅读 · 0 评论 -
pvr与png的内存占用
pvr与png的内存占用转载▼Zwoptex生成的spritesheet除了可以导出png格式的图片外还有pvr格式。pvr格式是iOS的显示芯片可以直接读取的,不需要经过解析就能直接显示,所以渲染速度更快,更节省内存。我特意在cocos2D 2.0 rc1版本做了一项测试:一个空的cocos2D模版工程运行起来之后占用的内存大约是4MB。原创 2012-10-10 01:21:30 · 21096 阅读 · 4 评论 -
Unity5 GI与PBS渲染从用法到着色代码
本文主要介绍Untiy5以后的GI,PBS,以及光源探头,反射探头的用法以及在着色器代码中如何发挥作用,GI是如何影响渲染的,主要分成三个部分,最开始说明PBS需要的材质与相应概念,二是Unity 里相应GI的操作,三是对应着色器代码的理解。如果没有特殊声明,所有操作与代码都是针对Unity5.3.PBS材质与概念 简单来说,PBS的优点不同的照明下获得一致的外观,更容易实现,更直观的参数。PB原创 2017-06-03 23:20:36 · 26415 阅读 · 1 评论 -
【Unity Shaders】Mobile Shader Adjustment—— 什么是高效的Shader
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。========================================== 分割线 ============转载 2016-03-01 10:40:36 · 1186 阅读 · 0 评论 -
基于八叉树的网格生成算法剖析
基于八叉树的网格生成算法剖析前言 对于网格生成这个主题,之前的网格生成系列的三篇博客文章分别介绍了MC算法,SMC算法以及Cuberille算法三种方法。同时还有一篇介绍网格生成与种子点生长算法高效结合的算法。本篇文章继续这一主题,介绍采用八叉树结构来进行网格生成的算法,这个算法并不是独立于之前介绍的算法,而是基于了SMC算法,同时也采纳了一些MC算法范畴内的思想。换句话说,就是使用八叉树对上述转载 2016-03-11 11:40:11 · 4884 阅读 · 2 评论 -
Unity3d SDK篇之Android开发(一)
android 项目交互 与 sdk增加指南: (完整版)通常在处理u3d与android natvice对接时,有两种方案:. U3D 项目交互部分方案: a. 使用u3d带有jni与使用jar方案直接处理,原理还是在u3d直接打包apk,其实处理过程是把相关工程的目录构建好,在u3d内进行打包完成的c# 与 java进行交互,底层的ndk部分完全忽略掉了,直接用u3d提供的jni接口交互ja原创 2015-12-19 14:42:31 · 4983 阅读 · 0 评论 -
UGUI 全方位了解
随着 unity3d 4.6 ~ 5.x + 新 UI 系统终于与大家见面了。这篇文章将不会介绍如何使用按钮、滚动条之类的UI控件,这些内容可以参考 Unity Manual;这篇文章的重点是,如何理解 UI 系统的设计,以便更好的在实际中使用它。 RectTransformUnity UI 系统使用 RectTransform 实现基本的布局和层次控制。RectTransform 继承于 Tra原创 2015-06-29 20:36:23 · 5247 阅读 · 2 评论 -
Unity3D 内存管理
此行出处信息:http://www.onevcat.com/2012/11/memory-in-unity3d/Unity3D在内存占用上一直被人诟病,特别是对于面向移动设备的游戏开发,动辄内存占用飙上一两百兆,导致内存资源耗尽,从而被系统强退造成极差的体验。类似这种情况并不少见,但是绝大部分都是可以避免的。虽然理论上Unity的内存管理系统应当为开发者分忧解难,让大家投身到更有意义的事情中去,但转载 2015-06-25 15:56:28 · 2931 阅读 · 0 评论 -
U3D 部分问题
.编译工程时生成了Mismatched serialization in the builtin class 'Mesh'. (Read 560 bytes but expected 561 bytes)低版本编辑器打开高版本编辑器序列化过的对象就会报类似错,建议更换高版本编辑器原创 2015-01-23 14:25:48 · 3531 阅读 · 0 评论 -
COCOS2DX 与 UNITY3D 的发展浅谈
浅谈:目前游戏界的发展趋势逐渐把游戏引擎当做一个比较成熟的中间件了,许多toolset和基础构建在不同游戏中是相通的,曾经有人比喻游戏引擎在不久的将来会像现在的操作系统一样,呈现出一种比较稳定的状态(比如现在比较活跃的操作系统只有Widnows和Linux了)。如果追求性能的话,实际上可以重写Unity或者其他引擎中的Renderer和Shader来进行改进,所以追求性能不能成为使用自研引翻译 2015-05-11 17:50:57 · 7130 阅读 · 0 评论 -
【Unity】技巧集合
转载:http://blog.csdn.net/stalendp/article/details/17114135这篇文章将收集unity的相关技巧,会不断地更新内容。1)保存运行中的状态unity在运行状态时是不能够保存的。但在运行时编辑的时候,有时会发现比较好的效果想保存。这时可以在 “Hierarchy”中复制相关对象树,暂停游戏后替换原来的,就可以了。(其实这个转载 2015-04-29 14:34:27 · 2353 阅读 · 0 评论 -
Mecanim 工作流
Mecanim概述:Mecanim是Unity提供第一个丰富而复杂的动画系统,提供了:针对人形角色的简易的工作流和动画创建能力Retargeting(运动重定向)功能,即把动画从一个角色模型应用到另一个角色模型上的能力。针对Animations Clips(动画片段)的简易工作流,针对动画片段及他们之间的过度和交互预览能力。一个用于管理动画间复杂交互作用的可视化窗口原创 2015-04-17 10:53:25 · 2368 阅读 · 0 评论 -
Unity项目中UI美术必须知道的程序要点
原文地址:http://youxiputao.com/articles/4820本文转载自IndieACE(游戏葡萄),是开发者DonaldW写给UI美术同事的一篇文章,原文题为《Unity项目中UI同学需知的程序相关要点》,分享给大家,希望促进程序和美术之间的相互理解。背景和目的本文的背景是《独立防线》(Killer)项目已进行到了一定阶段。虽然之前定下了UI制作规范,但中途也更转载 2015-04-21 11:12:11 · 2697 阅读 · 0 评论 -
U3D批处理的静态与动态问题
在屏幕上渲染物体,引擎需要发出一个绘制调用来访问图形API(iOS系统中为OpenGL ES)。每个绘制调用需要进行大量的工作来访问图形API,从而导致了CPU方面显著的性能开销。Unity在运行时可以将一些物体进行合并,从而用一个绘制调用来渲染他们。这一操作,我们称之为“批处理”。一般来说,Unity批处理的物体越多,你就会得到越好的渲染性能。Unity中内建的批转载 2015-04-16 19:35:43 · 10112 阅读 · 0 评论 -
UNITY3D 使用 litjson 制作数据表
距离上一次更新博客已有一段时间了,一实习就懒了,嘿嘿。这次谈一下在实习里新碰到的一个Unity插件——LitJson(也可以去官网下载最新版)。开场白LitJson是一个开源项目,比较小巧轻便,安装也很简单,在Unity里只需要把LitJson.dll放到Plugins文件夹下,并在代码的最开头添加 “Using LitJson”就可以了。简单来说,LitJson的转载 2015-04-08 13:42:38 · 2031 阅读 · 0 评论 -
Unity3D 网络通信_HTTP
转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术交流QQ群:【119706192】本文链接地址: Unity3D 网络通信_HTTP协议:获取网络图片、内容自己写的测试demo,一个功能一个功能测试着做的,没有什么结构,凑合看吧。http协议,在手机平台,URL必须必带http://头。此脚本主要实现了 分别用pose和get方式获取天气转载 2015-03-02 14:51:36 · 1546 阅读 · 0 评论 -
[Unity3D]InvalidOperationException: out of sync
详细信息:InvalidOperationException: out of syncSystem.Collections.Generic.Dictionary`2+Enumerator[UnityEngine.KeyCode,System.Boolean].VerifyState ()System.Collections.Generic.Dictionary`2+Enumerat转载 2015-02-02 16:02:18 · 7424 阅读 · 0 评论