U3D
damenhanter
这个作者很懒,什么都没留下…
展开
-
Unity3d_Vertex&Fragment_Shader添加阴影的方法
Shader "ZX/BaseVertFragmentShadow" { Properties { _DiffuseTexture ("Diffuse Texture", 2D) = "white" {} _DiffuseTint ( "Diffuse Tint", Color) = (1, 1, 1, 1) } SubShader { Tags...转载 2018-06-19 09:31:45 · 582 阅读 · 0 评论 -
Unity3D研究院之IOS全自动打包生成ipa(六十八)
接着上一篇文章, 自动生成framework,这篇文章我把shell自动化打包ipa整理了一下,希望大家喜欢,嘿嘿。。 建议大家先看一下上一篇文章。 http://www.xuanyusong.com/archives/2720首先我们要先搞清楚nity全自动打包的重要步骤。1.自动生成xcode工程。2.自动生成.ipa和dsym文件。3.上传appstore(本转载 2016-11-21 16:40:47 · 708 阅读 · 0 评论 -
Unity3D研究院之IOS全自动编辑framework、plist、oc代码(六十七)
Unity打IOS时会先生成一个Xcode工程,如果你需要增加一些第三方的framework那么需要手动一条一条的添加,这太烦了。。而且可能你还需要修改Plist文件,甚至还可能要修改unity自动生成的oc代码,每次打包都要修改的话,那太累了。。这篇文章就是全自动打包的第一步。。建议使用XUPorter,我在它的基础上拓展了两个类,一个用来修改plist,一个用来修改unity生成出来的OC代码转载 2016-11-21 16:39:51 · 491 阅读 · 0 评论 -
Unity3D研究院之Jenkins的使用(七十八)
长夜漫漫无心睡眠,来一篇嘿嘿。我相信如果已经用Shell脚本完成IOS和Android打包的朋友一定需要Jenkins怎么才能让策划打包ipa和apk?怎么才能彻底省去程序的时间,只要在同一局域网内不需要unity的开发环境,只要它有浏览器,它就能打包Jenkins无疑是最佳选择。Unity3D研究院之IOS全自动编辑framework、plist、oc代码(六十七)Uni转载 2016-11-21 16:39:00 · 859 阅读 · 0 评论 -
Unity3d+Jenkins 自动编译iOS、Android版本
1、在Unity3d中, 创建导出 iOS、Android 项目脚本 PerformBuild.cs ,放在Editor目录下(必须),如下:using UnityEditor;using System.IO;using System.Collections;using UnityEngine;using System.Collections.Generic; cl转载 2016-11-20 23:31:17 · 792 阅读 · 0 评论 -
【U3d】渲染统计窗口详细介绍(Rendering Statistics Window)
当运行一个U3D场景后,可以在界面右上方看到一个叫做"Status"的按钮,点开它就会出现一个重叠界面显示出实时统计数据,比如下图这种样子: 如果你是一名U3D开发新手,或者对此功能非常不熟悉,那么你可能会在游戏优化过程中遇到很多麻烦。接下来的篇幅着重讲讲该窗口的作用和必要的相关名词解释。 Statistics窗口,全称叫做 R转载 2016-11-09 22:06:28 · 759 阅读 · 0 评论 -
异世纪(暂定名)开发记(一)
项目开发快两个月了,中午有些午休时间,实在闲得蛋疼,就记录下研发过程,毕竟这是第一款自己从服务器到客户端自主选择技术,自己架构设计的项目。当初来公司的时候,感觉办公环境不是很好,比较荒芜,但老板人比较豪爽,比较放权信任,一想到在上一家公司做CTO期间,原老板的各种不信任,找事,就爽快的答应了。我一直就说做游戏很简单,有钱,有我就行,也许是自信自己的能力,就没考虑团队实力,一直觉得公司里各司其职原创 2016-10-25 12:49:35 · 763 阅读 · 1 评论 -
Unity 5.1+ Assertion Library (断言库)
Unity 5.1+ ,加入了“断言库”,在 Asset 类中可以方便的找到需要使用断言的函数。为何使用断言使用断言可以让错误在产品“开发阶段”尽快的暴露,减少Debug的时间,这个阶段打开“断言”。“发布阶段”则关闭断言。代码示例using UnityEngine;//使用Assert类需要这个包using UnityEngine.Assertions;public转载 2016-09-08 10:52:49 · 503 阅读 · 0 评论 -
动画事件回调
原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:【Unity3D(AR/VR) 334163814】【Unity3D(游戏) 119706192】 本文链接地址:Unity3D 动画回调注册Animation回调[csharp] view plain copy print?public class test_AddAni转载 2016-09-17 09:52:43 · 1982 阅读 · 0 评论 -
Unity3d 基于物理渲染Physically-Based Rendering之最终篇
前情提要:讲求基本算法Unity3d 基于物理渲染Physically-Based Rendering之specular BRDFplus篇Unity3d 基于物理渲染Physically-Based Rendering之实现最后我们用fragment shader 实现,加上diffuse漫反射,代码和之前的surface差不多,只是多了reflect方向的计转载 2016-09-03 16:01:47 · 993 阅读 · 0 评论 -
Unity3D研究院之Android全自动打包生成apk(六十九)
Unity自动打包Android其实要比IOS容易得多,因为Android不用先生成java工程,然后在构建.apk包,我先说说Android打包的步骤。1.把sdk拷贝至Plugins/Android下。如下图所示,如果你做过Android源生开发,我相信下面的东西你不会陌生。可是如果你没做过Android原生开发,我还是详细说明以下。AndroidManifest:这是转载 2016-11-21 16:41:36 · 2037 阅读 · 0 评论 -
Unity3D研究院之脚本批量打包渠道包研究(六十四)
最近在研究Unity3D脚本批量打包,比如在Android平台下各种不同分辨率和不同内存大小的机器,可能还有不同的渠道包,不同渠道可能用的SDK都不一样,这一切的一切都表明你的代码无法做到自适应的,除非批量打包提供各个平台的预定义标签#define 。Unity默认提供了一些预定义标签如:UNITY_EDITOR : 编辑器模式下。UNITY_STANDALONE:PC转载 2016-11-21 16:42:46 · 540 阅读 · 0 评论 -
详解Unity Profiler内存分析问题
在使用Unity开发游戏的过程中,借助Profiler来分析内存使用状况是至关重要的。但许多开发者可能还对Profiler中各项数据表示的含义不甚明确,今天我们Unity官方的技术工程师柳振东,将针对Profiler内存分析相关的问题及解答,与大家进行分享。要想完全发挥Profiler内存分析的威力,首先要做的就是了解Profiler展示的数据所表达的含义,以及到底哪些模块所使用的转载 2016-11-25 14:22:08 · 2658 阅读 · 0 评论 -
Mac平台下使用Jenkins自动化构建Unity项目出包(上)
一、 安装JDK jdk-8u91-macosx-x64.dmg下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html二、先下载android sdk for mac给二个靠谱的网址:a. http://down.tech.sina.com.cn/page/45703.h...转载 2018-06-17 18:05:08 · 1499 阅读 · 0 评论 -
Unity3D占用内存太大的解决方法
最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化.Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时转载 2017-04-25 18:42:11 · 744 阅读 · 0 评论 -
关于 Lua 内存泄漏的检测
前一阵开始和同事一起优化内存,首先是优化 Lua 内存,因为发现每次战斗完后 Lua 内存非常大,从 3M 左右在经过了10次左右的战斗后,会暴增到近 100M,很明显是有内存泄漏。 然后我正式启动该工作,基本思路就是递归遍历内存中所有的数据,表,函数,协程,用户数据,查看未释放和笔误引起的全局变量泄漏;于是通过搜索我参考了以下资料: http://shavingha.bl转载 2017-05-08 00:25:15 · 3239 阅读 · 0 评论 -
使用Unity开发Android的几种调试方法
前言本文举例几种Android 调试的方法(PS:我是通过unity引擎来开发安卓游戏) Eclipse + adt 查看LOG1、为Eclipse 装上adt 插件2、打开Eclipse 的Logcat,在搜索栏中输入 tag:unity Android Studio 自带adt Android SDK自带的 Monoto转载 2017-04-21 10:35:10 · 4482 阅读 · 0 评论 -
C#下使用protobuf(Google Protocol Buffers)
Protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。除了比Json、XML有速度上的优势和使用上的方便外,protocolbuf还可以做到向前兼容和向后兼容。 protobuf 虽然只支持JAVA、C++和Pyton,但protobuf社区的protobuf.net组件让p转载 2017-03-22 14:51:19 · 12512 阅读 · 0 评论 -
ULua热更新提高 <二> 发布到安卓真机开始更新
说实话我看了那么多热更新的文章,感觉说透的真的不多,这个东西出来都好几年了,真的遇到问题,还是得靠这自己去看代码研究,上一篇已经可以做出资源并且打包成游戏了,接下来就是更新了,我建议是自己先搞搞看,搞不出来再去看别人写的文章,会加深你的印象,那我们开始研究吧。建议一定要在例子的基础上去测试更新,修改弄弄看,不要一上来就自己写,很容易出问题,一大堆问题等着你,按照框架的更新修改测试一下就成功转载 2017-03-22 10:38:22 · 689 阅读 · 0 评论 -
Ulua热更新提高 <一> Ulua_SimpleFramework框架流程详解
以前写过几篇关于热更新的文章,但是我一直没有深入研究,就是公司用什么技术,我就根据公司的框架写代码。这回刚好在家闲着,我打算写一个系列的文章,深入研究一下Uua的热更新。最近几天有2家公司挖我去做游戏,开门问我第一句都是热更新框架你能不能搭建起来,cocos做2D有LUA是不是比U3D强,搞的我腰板也是不太硬,都是因为热更新懂的不是很彻底,工资都没有到20K,虽然自信自己的学习能力,很快就能研究完转载 2017-03-22 10:37:14 · 3671 阅读 · 0 评论 -
Unity3D 优化总结
资源守恒定律:为了完成一项功能,必须消耗一定资源。消耗的资源在CPU、GPU、Memory之间平衡。CPU消耗比较高时:由于短时间内的计算量太大,导致画面流畅性降低,俗称跳帧,发热严重,耗电量高1.将计算分到多个逻辑帧中进行计算,避免短时间内的性能超过负荷,俗称“分帧”(time-slice)。2.将可以缓存的数据尽可能的缓存起来,避免重复计算和重复分配内存,常见的示例为“内存原创 2016-07-17 22:24:13 · 1816 阅读 · 0 评论 -
Unity Profiler 性能分析
Profiler窗口1. CPUA. WaitForTargetFPS: Vsync(垂直同步)功能所,即显示当前帧的CPU等待时间 B. Overhead: Profiler总体时间-所有单项的记录时间总和。用于记录尚不明确的时间消耗,以帮助进一步完善Profiler的统计。 C. Physics.Simula转载 2016-11-25 14:30:55 · 1324 阅读 · 0 评论 -
Unity3d 基于物理渲染Physically-Based Rendering之实现
根据前文的例子http://blog.csdn.net/wolf96/article/details/44172243(不弄超链接了审核太慢)弄一下真正的基于物理的渲染逃了节课= =,弄了一下。公式和之前的文章一样,这次加上cubeMap贴图,由于方便,就直接用surface shader了,因为不用求reflect方向,之前也有这一篇文章说明surface shader中cubeMa转载 2016-09-03 16:01:10 · 706 阅读 · 0 评论 -
Unity3d 基于物理渲染Physically-Based Rendering之specular BRDF
在实时渲染中Physically-Based Rendering(PBR)中文为基于物理的渲染它能为渲染的物体带来更真实的效果,而且能量守恒 稍微解释一下字母的意思,为对后文的理解有帮助,从右到左L为光线方向,H为半角向量,L是和V的中间,N为法线方向,V为我们眼睛的观察方向(相机看的方向),R为反射方向Torrance-Sparrow光照模转载 2016-09-03 15:48:05 · 1223 阅读 · 0 评论 -
Unity3d热更新(二):资源打包AssetBundle
创建AssetBundle1.新建一个cube,将其拉倒Project视图里创建预设。2.在Assets目录下创建Scenes文件夹,创建场景scene1.unity。3.新建ExportAssetBundles.cs,保存在Assets/Editor目录下。代码如下:[csharp] view plaincopy"f转载 2015-12-08 17:36:30 · 7491 阅读 · 0 评论 -
【Unity3d】【项目学习心得】从资源服务器下载资源(一)
项目里面的许多资源都是从资源服务器加载的,这样子可以减小客户端的包大小。所以我们需要一个专门的类来管理下载资源。资源分很多类型,如:json表,txt文件,image文件,二进制文件,UIAtlas图集,AssetBundle等。所以,首先创建一个管理资源文件类型的类LoadFileType。 其中文件类型可以用枚举来表示,也可以用类成员常量来表示。此处转载 2015-12-12 10:39:02 · 5269 阅读 · 0 评论 -
【Unity3d】【项目学习心得】从资源服务器下载资源(三)
上一篇我们分析了 从资源服务器下载资源(二) 接下来我们继续分析 LoadManager类。当我们的任务下载完成后,我们需要对任务的委托进行回调到调用对象。我们初步加入的委托有 complete、process、error ,接下来分别对这三个委托写相应的回调。[csharp] view plaincopy转载 2015-12-12 10:40:33 · 3144 阅读 · 0 评论 -
【Unity3d】【项目学习心得】从资源服务器下载资源(二)
继上篇的基础准备 从资源服务器下载资源(一) 我们现在继续进一步完成 LoadManager 管理类。管理类因为在全局中都是存在的,所以应该作为单例存在。因为LoadManager 类是管理多个 LoadRequest的,所以我们需要存储当前正在下载的LoadRequest,以及下载完成的 LoadRequest。另外,我们为了防止太多下载线程占用过多资源,我们对于转载 2015-12-12 10:40:01 · 2318 阅读 · 0 评论 -
游戏引擎中三大及时光照渲染方法介绍(以unity3d为例)
重要:在目前市面上常见的游戏引擎中,主要采用以下三种灯光实现方式:顶点照明渲染路径细节 Vertex Lit Rendering Path Details正向渲染路径细节 Forward Rendering Path Details延迟光照渲染路径的细节 Deferred Lighting Rendering Path Details 以unity转载 2015-11-20 18:29:47 · 4087 阅读 · 0 评论 -
C# 线程手册 第六章 线程调试与跟踪 跟踪开关
当你的程序接近部署阶段时,你可能想从代码中去掉所有的跟踪和调试消息。然而,你不得不从代码中一条一条地寻找调试指令并将其去掉。对于这种情况你可以在程序编译期间使用编译标志处理。从Visual Studio.NET IDE, 你可以在解决方案管理窗口右键工程名->从菜单页选择属性。如下图对话框显示: 你只需要简单地将定义调试常量和跟踪常量选项勾掉,重新编译解决方案,所有的跟踪和调试代转载 2015-11-03 23:08:06 · 525 阅读 · 0 评论 -
Unity3D研究院之Time.timeScale、游戏暂停(七十四)
项目里面一直在用Time.timeScale来做游戏的 1倍 2倍整体加速,今天我仔细看了一下Time.timeScale才发现之前我理解错了一些东西。Time.timeScale可以控制Update 和LateUpdate 的执行速度,举个例子说明一下。Time.timeScale=1时,Update、LateUpdate、FixedUpdate 都按正常的时间来执行。T转载 2015-11-03 23:09:31 · 618 阅读 · 0 评论 -
使用Unity3D的50个技巧:Unity3D最佳实践
刚开始学习Unity3D时间不长,在看各种资料。除了官方的手册以外,其他人的经验也是非常有益的。偶尔看到老外这篇文章,觉得还不错,于是翻译过来和大家共享。原文地址:http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/,下面是译文。欢迎转载,请注明出处:燕良@游戏开发:http://blo转载 2015-11-03 23:05:19 · 1246 阅读 · 0 评论 -
Unity换装系统设计
今天又看了一下Unity的换装系统,上次看了一下,有些复杂,久了就记不住了,怕忘记,所以记下。 换装系统的实现我见过两种方式,一种使用挂载点,所有的装备都像武器一样处理,整个模型有一套自己的骨骼、动画、网格,(好比是一个没穿什么衣服的人),程序在骨骼处添加挂载点,然后直接将相应的网格作为子节点挂上,这种处理方式相对比较简单,感觉处理脸、眼、璎珞等不太方便,见以前的同事也只是处理衣服、帽子之类的原创 2015-07-02 22:12:09 · 2090 阅读 · 0 评论 -
Unity3d热更新(四):压缩文件
之前提到过通过AssetBundle.CreateFromFile读取本地AssetBundle,因为该方法只能读取未压缩的AssetBundle,所以打包AssetBundle时,需要选择BuildAssetBundleOptions.UncompressedAssetBundle未压缩模式,然后使用LZMA或GZIP压缩后上传服务器。本地下载后需要解压缩保存在Application.persi转载 2015-12-08 17:38:38 · 7410 阅读 · 0 评论 -
Unity3d热更新(一):更新思路
目前Unity手游的热更新基本采用如下思路:首先将资源打包成AssetBundle。如果有两个对象共同依赖于同一个对象,需要采用依赖关系打包。AssetBundle需要根据不同的平台打包,各平台之间不能混用,如IOS和Android。为打包后的资源生成MD5值,上传服务器后,通过比对服务器端和客户端文件的MD5值,找出改变的文件,下载到本地。通过AssetBundle.CreateFrom转载 2015-12-08 17:34:58 · 6766 阅读 · 0 评论 -
Unity3d热更新(三):更新资源流程
1.生成配置文件在资源打包AssetBundle后,需要计算资源文件的MD5值,生成配置文件。下面给出一个例子:[csharp] view plaincopy// 获取Res文件夹下所有文件的相对路径和MD5值 string[] files = Directory.GetFiles(resPath, "*", SearchOpt转载 2015-12-08 17:37:42 · 17949 阅读 · 4 评论 -
官方Character.unitypakge 升级到5.4以后出现shader编译问题
https://docs.unity3d.com/Manual/UpgradeGuide54.htmlIf you are sampling them manually in your shader, and get an “undeclared identifier samplerunity_SpecCube1” error, you’ll need to change code from原创 2016-09-13 14:09:19 · 1520 阅读 · 0 评论 -
基于物理着色
基础BRDF一般描述了两个物理现象,表面反射和表面散射。每个现象行为都是不一样的,所以BRDFs有分离的因子,其中描述反射的叫做镜面因子,描述散射的叫做漫反射因子。BRDF一般都是对表面以上的光照方向和视线方向定义的,所以要保证(n⋅l)(n·l)和(n⋅v)(n·v)的非负。这一点在着色的时候必须注意。BRDF有两种解读。一种是给定入射方向和光照,BRDF给出所有相关的反射和散射转载 2016-09-01 15:46:22 · 2926 阅读 · 0 评论 -
unity再战PBR材质流程与材质制作实践
这篇在上一篇的基础上增加了对PBR的认识,主要包括了金属度和粗糙度(光滑度)的测试unity里PBR流程,PBR材质属性具体分析传统模型到PBR的流程,一些PBR制作转换工具介绍以前这篇http://blog.csdn.net/shenmifangke/article/details/50587290先上一张unity Scene场景的实时效果图转载 2016-09-01 14:41:39 · 27924 阅读 · 0 评论 -
Article - Physically Based Rendering
IntroductionThe pursuit of realism is pushing rendering technology towards a detailed simulation of how light works and interacts with objects. Physically based rendering is a catch all term for a转载 2016-09-01 14:39:55 · 730 阅读 · 0 评论