自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Unity3d 攻城师一枚

人生只有走出来的美好,没有等出来的辉煌

  • 博客(224)
  • 资源 (15)
  • 收藏
  • 关注

原创 08.Unity ShaderGraph实例(使用PBR渲染精灵动画)

相关资源下载创建精灵Sheet制作精灵动画ShaderGraph:怎么定义精灵贴图ShaderGraph:怎么剔除AlphaNode:Sample Texture 2DNode:Replace ColorNode:Invert Color相关资源下载创建精灵Sheet下载上面的资源以后导入到Unity,按照划线提示操作选择Sprite Editor,按照操作步骤...

2019-11-21 19:33:52 3099 1

原创 16.UniRx序列(ContinueWith、Timeout、Timestamp、ToArray、ToObservable、Retry、OnErrorRetry)

ContinueWith()Timeout()Timestamp()ToArray()ToObservable()Retry()OnErrorRetry()ContinueWith当一个流完整的执行之后,执行到Complete之后,会继续执行ContinueWith关联的流执行结果代码示例public class No16_Mixed6 : MonoBehaviour...

2019-11-21 15:00:43 1291

原创 07.Unity ShaderGraph序列(属性/节点数据类型和一级节点简介)

Property Types属性类型Data Types数据类型Port Bindings节点端口绑定Nodes API一级节点列表Property Types属性类型显示在Blackboard里面的属性,用于连线到Master主模块或其他功能模块节点Vector1拥有3种模式分别是:Default、Slider、IntegerDefault 默认一个float类型的数据...

2019-11-20 15:54:56 1512

原创 15.UniRx序列(Subscribe/ObserveOnMainThread、Cast、PublishLast、RepeatSafe、Replay、Catch、CatchIgnore)

ObserveOnMainThread()SubscribeOnMainThread()Cast<>()PublishLast()RepeatSafe()Replay()Catch()CatchIgnore()ObserveOnMainThreadUniRx特有的字段,将一个流转移到主线程进行观察执行结果代码示例public class No15_Mix...

2019-11-20 13:31:48 2001

原创 06.Unity ShaderGraph序列(工作界面和相关节点介绍)

What is a Shader Graph?着色器图的好处Blackboard 属性面板Master Preview 主模块介绍Master Node Settings 主模块相关设置Node 连线节点介绍使用着色器图的好处程序性地改变您的表面外观对UV进行扭曲和动画处理使用熟悉的图像调整操作来修改对象的外观根据有关对象,对象的世界位置,法线,与相机的距离等有用信息来更...

2019-11-19 15:03:43 1788

原创 14.UniRx序列(First、FirstOrDefault、BatchFrame、Buffer、GroupBy、ThrottleFirst、Throttle...)

First()FirstOrDefault()BatchFrame()Buffer()GroupBy()ThrottleFirst()ThrottleFrame()ThrottleFirstFrame()First取基础流里面第一个数据或者取第一个满足条件的数据,图解执行结果代码示例public class No14_Mixed4 : MonoBehaviour...

2019-11-19 11:04:40 1597

原创 05.Unity ShaderGraph序列(LWRP PBR使用详解)

Autodesk InteractiveLitParticlesSimple LitTerrainUnlit效果展示#1 来自PBR Terrain次世代地形贴图#2 来自PBR的UI贴图 ????#3 来自Simple Lit表面着色器的普通材质剑#4 来自PBR的人形怪物贴图特效就不作展示,对带模型的特效的效果好。Autodesk Interactive这个...

2019-11-18 15:19:53 3262

原创 13.UniRx序列(Start、AsObservable、AsSingleUnitObservalbe、AsUnitObservable、ToAsync、ForEachAsync)

StartAsObservableAsSingleUnitObservableAsUnitObservableToAsyncForEachAsyncStart启动一个异步方法来返回方法的执行结果,创建一个流,将流的方法数据输出到基础流,图解执行结果代码示例public class No13_Mixed3 : MonoBehaviour{ void Start(...

2019-11-18 10:30:59 849

原创 12.UniRx序列(FromEvent、FromEventPattern、Where、WhenAll、Never)

FromEvent()FromEventPattern()Where()WhenAll()Never<>()FromEvent将C#事件转换成流,当事件有回调的时候,通知到流,包括event、delegate及其衍生的回调字段,图解执行结果代码示例public class No12_Mixed2 : MonoBehaviour{ public eve...

2019-11-17 23:50:11 991

原创 04.Unity ShaderGraph序列(Lightweight Pipeline相关扫盲)

为什么单开一个LWRP什么是LWRPLWRP能做什么效果LWRP和传统Shader对比自己编写一个简单LWRP例子为什么单开一个LWRP当我们不知道去怎么处理一个事物的时候,我想最好的办法是学会依葫芦画瓢;PBR你会么?不会,光照渲染你会么?不会;那最好的办法是站在巨人的肩膀上,登高望远,但你也得努力爬上去啊;咋们就务实点,什么好用用什么,什么有用用什么;Unity你总能挑出一箩...

2019-11-15 18:56:35 1177

原创 11.UniRx序列(Concat、Defer、Empty、FromAsyncPattern、Throw、RefCount、Publish、Pairwise)

ConcatDeferEmptyFromAsyncPatternThrowRefCountPublishPairwiseConcat连接多个流,按照一定的先后顺序将多个流串联到一起,流包装的数据类型必须一致,图解执行结果代码示例public class No10_Mixed1 : MonoBehaviour{ void Start() { ...

2019-11-15 12:12:32 983

原创 03.Unity ShaderGraph序列(Unity相关设置扫盲01)

Scriptable Render Pipeline(SRP)What is the Scriptable Render Pipeline

2019-11-14 15:23:26 798

原创 10.UniRx序列(HotObservable、ColdObservable)

官方解释来自简书的官方原文Think of a hot Observable as a radio station. All of the listeners that are listening to it at this moment listen to the same song.A cold Observable is a music CD. Many people can buy...

2019-11-14 12:11:03 417

原创 09.UniRx序列(Select、SelectMany、Create、CreateSafe、CreateWithState)

SelectSelectManyCreateCreateSafeCreateWithStateSelect

2019-11-14 10:35:08 962 1

原创 02.Unity ShaderGraph序列(搭建ShaderGraph环境)

引言毛星云童鞋总结的PBR白皮书非常感谢毛星云同学,让我知道了PBR全称是Physical Base Renderer;还有一些其他的内容,具体什么大家自己去看,我们是使用者;没有必要去了解点点滴滴,并且我也不是专业的,所以能做出效果就好;你要说我要去研究,那还得从一台计算机怎么诞生的时间点开始,保证几辈子研究不完,哈哈~多说一句一个技术点,如果在国内开始传播并且被大众接受;那么这个...

2019-11-13 16:11:57 532

原创 01.Unity ShaderGraph序列(次世代游戏来了)

简介Unity从2018版本开始,内置了一套类似于ShadeForge插件功能的Shader编辑工具ShaderGraph,中文名可视化shader编程;支持PBR基于物理的渲染,HDRP(High Defintion Render Pipeline,高清渲染管线,一般用在PC,主机游戏平台),还有一个LWRP(Light Weight Render Pipeline,轻度渲染管线,一般用于移动...

2019-11-13 14:11:16 1677

原创 08.UniRx序列(Zip、ZipLatest、Amb、Aggregate、Merge)

ZipZipLatestAmbAggregateMergeZipZip,在系统应用层面上是压缩文件的后缀;在UniRx里面是对流进行合并,按照基础流和zip的流按照流数据的输出顺序依次进行压缩;压缩的数据以中间最短数据的流为准,压缩之后的返回成一个IList集合接口;zip只会将流压缩,并不把里面的数据合并,图解第一个流输出的是数字第二个流输出的是字母zip到第三个流,最后...

2019-11-13 11:31:34 1777

原创 07.UniRx序列(FromCoroutine、FromCoroutineValue、FromMicroCoroutine、StartAsCoroutine)

FromeCoroutineFromCoroutineValueFromMicroCoroutineStartAsCoroutineFromCoroutineUniRx特有的方法,将一个协同方法转化到基础流,协同在订阅的时候被执行,流也会被执行;执行结果代码示例public class No07_Coroutine : MonoBehaviour{ void Sta...

2019-11-12 23:29:24 1421 1

原创 06.UniRx序列(Do、DoOnCancel、DoOnCompleted、DoOnError、DoOnSubscribe、DoOnTerminate

DoDoOnCancelDoOnCompleteDoOnErrorDoOnSubscribeDoOnTerminateDo对基础流的数据进行二次包装,包括基础流里面的所有数据,包装的过程在Next,Error,Complete方法里面进行,基础的Next数据在对应的Next里面包装,Error数据在Error里面包装,Complete在Do的Complete方法里面执行,图解...

2019-11-11 11:14:43 1643

原创 05.UniRx序列(Delay、DelayFrame、DelayFrameSubscription、DelaySubscription

DelayDelayFrameDelayFrameSubscriptionDelaySubscriptionDelay延迟一定的时间来继续执行之前的流,延迟的时间不计算在基础流里面,权当附加的一个功能,只针对基于时间的流有效果,图解输出结果代码示例public class No05_Delay : MonoBehaviour{ void Start() {...

2019-11-10 23:02:06 1748

原创 04.UniRx序列(DistinctUntilChanged、RepeatUntilDestroy、RepeatUntilDisable、SkipUntil、TakeUntil...)

内容包括DistinctUntilChangedRepeatUntilDestroyRepeatUntilDisableSkipUntilTakeUntilTakeUntilDestroyTakeUntilDisableDistinctUntilChangedDistinct 计算机专业词汇意思是去除重复,翻译过来是 去除重复的数据直到有变化才会通知监控数据源有没有变化,一...

2019-11-10 16:51:20 1443

原创 03.UniRx序列(Interval、TimeInterval、FrameInterval、FrameTimeInterval)

Interval间隔一定的时间单位持续给订阅者通知信息,图解示例代码public class No03_Interval : MonoBehaviour{ void Start() { var intervalStream = Observable.Interval(TimeSpan.FromSeconds(3f), Scheduler.MainThrea...

2019-11-10 10:40:58 3147

原创 02.UniRx序列(UniRx对游戏有什么用)

UniRX在游戏里面的表现呢?学习一个技术,我们最关心的是它能不能给我们带来实际的效率,方便;做Unity的选择挺多的,大把的第三方插件;各种可视化工具,多到都不知道去挑哪一个来用;我并去推荐大家去使用什么插件,工具,这是一个双刃剑,既有方便也有不方便;方便的是你自己,痛苦的是那些不会的人和以后维护的人;插件一般使用的技术比较新,对系统有到一定的要求,因为不是自己写的东西;有可能插件出现的问题会...

2019-11-09 10:54:01 3570 1

原创 01.UniRx序列(为什么使用UniRx,哪好,为什么好)

传统编程里面,我总是按照编译器的逻辑来处理代码;代码是按照顺序执行,当有数据刷新的时候,需要重新去获取;重新去获取并不影响什么,关键的是这是一个主动发起的行为;而数据是被动在刷新,这样的我们编写的代码就变得被动了,你如果有一定的工作经验,你遇到这样的低级的问题,忘记去刷新某一个数据导致程序异常;...

2019-11-09 02:50:43 2721 3

原创 16.Unity Zenject高级编程(DecoratorBindings装饰绑定)

Decorator Bindings另外Zenject的特性功能是可以使用装饰模式来设计绑定;允许你更简单的实现装饰模式Example作为一个示例,让我们说一个类包含了统计指定敌人在我们的游戏里面,我们有两个敌人(兽人和恶魔):public interface IEnemyStats{ float Damage { get; } floa...

2019-09-08 02:34:14 813 3

原创 15.Unity Zenject高级编程(WritingAutomatedTest测试用例)

Writing Automated Unit Tests and Integration Tests当你使用DI正确编写低耦合的代码,非常容易隔离指定区域的代码,基本意图是运行测试,在不需要启动你项目的前提下;这些可以从用户派生的测试框架或者使用NUnit自动化测试;自动化测试对于持续和服务器交互特别有帮助;这允许你自动运行测试无论何时有新的提交到版本控制;有三种基本的测试帮助类包含在Zenj...

2019-09-07 17:54:44 783

原创 14.Unity Zenject高级编程(Sub-Containers子容器)

简介一些情况下,使用多个容器在同一个应用里面非常有帮助;例如,如果你创建一个文字处理,你可能需要多个子容器为每个标签代表一个隔离的文档;这种处理方式,你可能使用子容器绑定一堆类成AsSingle(),并且这些如果全部是单例容器可以容易相互引用;然后你可能为每个文档实例多个子容器,每个子容器拥有唯一的实例,所有的类在每个指定文档处理另外一个实例你可能设计一个开放世界的太空船游戏,你可能想每个太空...

2019-09-06 21:09:15 928

原创 13.Unity Zenject高级编程(MemoryPools内存池)

示例使用Unity开发游戏使用适当的内存管理非常重要,如果你想制作流畅的游戏在手机上面运行;根据运行的平台和制作的游戏类型不同,对于尽可能的避免开辟不需要的堆内存非常的重要;最有效的途径的使用内存池,代码示例public class Foo{ public class Factory : PlaceholderFactory<Foo> { }}pub...

2019-09-05 11:34:56 1619 2

原创 12.Unity Zenject高级编程(SignalBus通信)

摘要MemoryPool、Factory、SignalBus是Zenject高级编程必须掌握的3大模块,分别负责内存优化、创建对象、内部通信;单模块的内容也非常的丰富,都是独立了文档来单独作介绍;这些也是Zenject魅力所在。为什么要使用通信来编程指定两个类A和B通信,通常来说,你会选择:从B里面直接调用A的方法,这样B是强制依赖A,违背软件设计开闭原则定义一个回调在A里面,这样B也...

2019-09-03 17:49:11 1088

原创 11.Unity Zenject高级编程(DiContainer方法集)

前言在正常的绑定基础之上,也有一些其他的方法你需要联系到一块使用DiContainer;例如你自定义一个工厂,你有可能直接调用DiContainer.Instantiate方法来实例化对象或者其他类库(比如网络库),你需要调用DiContainer.Inject手动注入DiContainer总是会添加自己到类里面,你可以在任何类里面调用到它;DiContainer.Instantiate这...

2019-09-02 06:13:50 1309

原创 10.Unity Zenject高级编程(使用工厂动态创建物体)

前言新手使用Zenject框架经常会遇到一个头痛的问题,怎么样在游戏启动以后动态创建新物体;假如你做一个游戏需要生成很多的敌人(Enemies),然后你将会去构建新的敌人实类,并且要确保这些敌人实类会注入到框架里面,建议使用工厂来处理摘要DI框架重要的部分是储备使用容器,严格的遵循"Composition Root Layer"组合跟节点层;DiContainer容器类包括自身的自动引用,因...

2019-09-01 16:07:40 1356

原创 09.Unity Zenject入门到掌握(建议和提示)

不要使用GameObject.Instance方法来实例化游戏物体如果你想实例化一个Prefab,Prefab上的脚本有Inject的时候,推荐使用factory来处理生成新游戏物体;或者使用DiContainer里面提供的静态方法InstantiatePrefab()Container.InstantiatePrefab(prefab, parentTransform);使用这样统一的方...

2019-08-22 15:51:41 1398

原创 08.Unity Zenject入门到掌握(场景中脚本绑定)

摘要当我们场景中有Mono脚本,Zenject框架里面的其他类有引用到这个Mono脚本的时候,我们可以将这个Mono的实例直接绑定到框架里面,安装器也是Mono附加,在安装器里面声明就好public class Foo : MonoBehaviour{}public class GameInstaller : MonoInstaller{ public Foo foo; ...

2019-08-21 14:38:16 1735

原创 07.Unity Zenject入门到掌握(引用对象关系验证)

摘要当使用Zenject来编写项目的时候,如果要进行测试;一般是直接运行看结果,日志或者抛出异常信息;当项目内容做复杂了以后,模块划分出去了,会导致你前面的工作人员的功能没有做完,进不了你所要测试的功能里面来;这个时候需要修改程序流程来达到一个测试的效果,而如果流程修改复杂的话,你当下无法进行测试;Zenject提供了便捷的验证关系功能验证有什么用验证不是一次测试,并不能验证具体的错误信息;...

2019-08-20 16:42:39 761

原创 06.Unity Zenject入门到掌握(Non-MonoBehaviour编写逻辑)

Non-MonoBehaviour说明通常我们编写较为复杂一些的逻辑,比如战斗逻辑,会依赖Update()来处理动态的数据;这样会导致场景物体或者Prefab需要附加Component组件,当Prefab修改或者场景有变动的时候,有可能美术把脚本给忘记附加了导致运行不正确;当项目做大了以后,这些附件的脚本会变成一个负担,需要专门有人来处理这些繁琐的工作;使用Non-MonoBehaviour的...

2019-08-19 16:24:21 950

原创 05.Unity Zenject入门到掌握(Zenject的安装器Installer)

什么是安装器可以组织收集为每个子系统绑定相关内容,并且可以将其分组绑定到一个可复用的对象内容里面管理;在Zenject中,这些可以复用物体称作‘installer’安装器,以下示例:public class FooInstaller : MonoInstaller{ public override void InstallBindings() { Contai...

2019-08-18 20:10:04 1579

原创 04.Unity Zenject入门到掌握(Zenject的绑定实例Bind)

文档大纲绑定说明概念过程示例绑定格式字段表单说明构建方法(Construction Methods)33. FromSubContainerResolve - 通过子容器实例对象Zenject社区绑定说明概念所有基于DI(dependency injection)框架都是将类型绑定到实例。在Zenject中,通过绑定到容器来映射引用关系;但容器应该知道通过什么方式来实例化已经绑定的对象,通...

2019-08-18 02:40:45 2742

原创 03.Unity Zenject入门到掌握(Zenject的注入方式Injection)

文档大纲注入方式说明Zenject的4种注入方式a.构造函数注入b.成员变量注入c.属性注入d.方法注入注意事项推荐使用方式总结一下Zenject社区注入方式说明Zenject是一个类引用管理工具,当你声明了一个类绑定到了容器里面以后,你在其他的敌方使用需要按照约束的方式,这样便可以引用到你已经绑定到容器的类Zenject的4种注入方式构造函数注入、成员变量注入、属性注入和方法注入a....

2019-08-17 01:27:55 2141

原创 02.Unity Zenject入门到掌握(从Zenject的HelloWorld开始)

大纲A.官方示例代码B.代码运行结果C.代码解析D.代码文字说明E.Zenject架构个人解析F.Zenject社区A.官方示例代码using System.Collections;using System.Collections.Generic;using UnityEngine;using Zenject;namespace zenject.hellowrold{ pu...

2019-07-29 01:14:06 1643 1

原创 01.Unity Zenject入门到掌握(Zenject简介和环境配置)

Zenject 框架简介Zenject是一个轻量级的高性能依赖注入框架,专门针对Unity构建。它可以用来将Unity应用程序的代码库转换为具有高度分段职责的松散耦合部分的集合。然后,Zenject可以以许多不同的配置将各个部分粘合在一起,从而使您能够以可伸缩和极其灵活的方式轻松地编写、重用、重构和测试代码。Zenject 作者简介一位来着Github的大神Steve Vermeulen,他...

2018-12-03 16:04:00 9344

ALLSRC.zip

Unity Andorid 高版本通信示例代码

2020-08-11

UnityCloudContentDelivery.zip

UnityCloudContentDelivery

2020-08-10

UniRx ThinkingTree.xlsx

Excel 归纳文档,记录了UniRx各种情况下操作符怎么使用。 Excel 归纳文档,记录了UniRx各种情况下操作符怎么使用。

2019-12-25

07.SceneBinding.zip

07.SceneBinding.zip 示例源码

2019-08-21

NGUI Next-Gen UI v3.6.7 (Jul 06, 2014).unitypackage

NGUI Next-Gen UI v3.6.7 (Jul 06, 2014).unitypackage 亲测可用

2014-07-07

NGUI Next-Gen UI v3.5.8.unitypackage

NGUI Next-Gen UI v3.5.8.unitypackage 最新版NGUI,亲测可用

2014-04-22

NGUI Next-Gen UI v 3.5.6.unitypackage

NGUI Next-Gen UI v 3.5.6.unitypackage 最新版的NGUI,我刚从AssetStore上购买

2014-04-08

CocosBuilderDemo

一个关于CocosBuilder自定义类与使用的简单Demo 将项目放到2dx目录的projects下即可

2013-08-11

开源项目jamendo-android

最新版jamendo源码,。更新于2013.04月

2013-06-03

popwindow+listview多选

使用ArrayAdapter与Popwindows相结合,实现弹出,多选

2013-06-03

SuperJumper

Libgdx开源项目,包括桌面版与Android版

2013-05-16

MyTabHost.zip

使用ActivityGroup实现TabHost的点击切换界面效果,比TabHost速度更快,更好控制。

2012-09-16

拨号面板,android

拨号面板

2012-08-15

android应用开发揭密源码

android开发的例子,大家都懂得,——

2011-11-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除