自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 AndroidStudio之一:如果创建ListView

 一、首先创建一个新的AndroidProject点击Next,进行下一步Next,创建一个Empty ActivityNextFinish,然后再虚拟机上运行,这样一个空的AndroidProject就创建好了二:接下来,咱们来看看怎么添加ListView1、把Project模式切换到Android双击activity_ma...

2019-01-07 17:11:03 730

原创 AndroidStudio 子线程中无法操作UI

  今天在主线程开了一个子线程,如下代码 public class MainActivity extends AppCompatActivity { Thread thread; boolean threadExit = false; public TextView tv1; public void onCreate(Bundle savedInstanceState) {...

2018-12-26 17:27:22 471

原创 XR: OpenVR Error! OpenVR failed initialization with error code VRInitError_Init_InterfaceNotFound:

如果出现这个问题,说明你的steamVR应该更新了,,,steamVR更新后这个问题就自动解决了

2018-06-22 16:34:10 8460 3

原创 Unity中 泛型查找 父物体上所有所要查找的Component 集合

static public T FindInParents<T>(GameObject go) where T : Component { if (go == null) return null; var comp = go.GetComponent<T>(); if (comp != null) ...

2018-06-11 11:06:47 984

转载 Unity陀螺仪功能

实现陀螺仪功能,旋转设备,摄像机跟随旋转将下面脚本拖拽到摄像机上,打包为Android或iOS项目,在真机上测试即可场景中要放一些模型,不然看不到效果using UnityEngine; using System.Collections; public class AAA : MonoBehaviour { private c

2017-09-05 14:12:08 715

原创 unity中调用dll(char*,以及带有函数指针的参数)方法总结

dllImport是System.Runtime.InteropServices命名空间下的一个属性类,因此ASP.NET中要使用DllImport的,必须在先“using System.Runtime.InteropServices;”。其功能是提供从非托管DLL导出的函数进行调用所必需的信息。DllImport属性应用于方法,要求最少要提供包含入口点的dll的名称。DllImport

2017-04-18 16:21:32 2423

原创 Unity在VR场景内的截屏、并使用UniRx进行上传、下载功能

大家首先要去Unity官网下载UniRx插件,,,这个插件是做什么用的呢,,,这里咱们简单说一下:通常,unity的网络操作需要使用到WWW和协程(Coroutine),但是,使用协程(Coroutine)对于异步操作而言不是一个好的办法,原因如下:1、协程不能返回任何值,因为它的返回类型必须是IEnumerator。2、协程不能够捕捉异常,因为yield return 声明不支持tr

2017-03-28 11:08:42 1844

原创 Oculus CV1 无法在Steam平台下运行的检测到定位器

最近在做多平台VR输入相关的工作,在Steam平台下发现使用Oculus CV1 会有一些问题,特在此记录一下:1、确保 Oculus Rift 反常事故  第一步诚然是要确保 Oculus Rift 在你的电脑上一切反常了。首先你得颠末官网下载并安装 Oculus Home 平台。安装实现后,运转 Oculus Home 实现装备并确保没有任何标题。

2017-03-16 10:44:48 2226

原创 Oculus CV1 在Unity5.6编辑器中可以识别VR但是导包后不能识别的问题

今天发现一个Unity的大Bug,Oculus CV1在unity5.6.09beta版中可以vr识别,但是打不出包后却不能VR成像,很是崩溃。。。。,各种解决方案后仍不能解决问题。。。。       后来换到Unity5.5中,问题就解决了.......太坑了 ...害的得忙活了一天

2017-03-06 17:36:58 446

原创 LeapMotion驱动安装教程

首先我们登陆Leap的官网,可以发现现在Leap发布了两套SDK,一套是正常在桌面上使用的,另一套就是在VR项目中使用的Orion BETA版本。下载这个最新的Orion BETA版本的SDK,下载地址:https://developer.leapmotion.com/get-stVRted。然后再下载Unity相关的插件  这里需要翻墙。如果你没有VPN的

2017-03-05 17:29:45 8162 2

原创 Oculus Rift CV1 驱动安装教程(内含Oculus官方Demo)

准备工作:因为国内网站访问不了Oculus的官网,所以你要准备一个VPN以便翻墙使用,另外Oculus下载器不支持断点续传,所以在下载过程中要保持你的网络稳定,否则你将会前功尽弃......所有的工作都要重新再来。。。所以重点是:vpn一定要 稳定、稳定、稳定。。。重要的事情说三遍。       接下来我们就要开始来下载Oculus工具了:      首先:你要先去Oculus官网注册一个

2017-03-04 19:04:57 19271 2

原创 设计模式之十二:适配器模式

适配器模式(Adapter Pattern)又称变压器模式或者包装模式:      定义:Convert the interface of a class into another interface clints expect. Adapter lets classes work together that couldn't  otherwise because of incompatibl

2017-02-09 10:01:07 264

原创 设计模式之十一:策略模式

策略模式(Strategy Pattern)也称作政策模式(Policy Pattern)。       定义:Define a family of algorithms ,encapsulat each one ,and make them interchangeable.(定义一组算法,将每个算法封装起来,并且使他们之间可以互换。)       通用类图:          

2017-02-08 09:55:46 353

原创 Unity3D热更新:ULua && Simpleframework环境安装详解

最早接触Lua是在四年前,当时是在上一家公司做微端项目开发,那是客户端和服务器的逻辑部分都是用Lua来更新处理,最底层的进行的封装。当时感觉Lua好神奇,语法简单,而且还更容易理解和维护。但是由于当时所处“地位”的原因,底层代码的封装代码没能拿来进行研究,倍感遗憾。后来进入87870进行虚拟现实项目的开发,所开发的项目基本上都是在PC平台上的单机或者弱联网的游戏,所以有关Lua的学习也因此搁浅。最

2017-02-07 15:54:55 3102 1

原创 设计模式之十:责任链模式

责任链模式(Chain of Responsibility Pattern):       定义:Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request .Chain the receiving objects and

2017-02-07 10:07:41 299

原创 设计模式之九:命令模式

命令模式(Command Pattern):是一个高内聚的模式。      定义: Encapsulate a request as an object , thereby letting you parameterize clients with different requests ,queue or long requests, and support undoable operatio

2017-02-06 10:09:24 233

原创 设计模式之八:中介者模式

中介者模式(Mediator Pattern):       定义:Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and i

2017-02-04 14:13:11 263

原创 设计模式之七:原型模式

原型模式(Prototype Pattern):      定义:Specify the kinds of objects to create using a prototypical instance,and create new objects by copying this prototype.(用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象)。     通用类图如下

2017-02-04 10:47:53 204

原创 设计模式之六:代理模式

代理模式(Proxy Pattern)又称委托模式:       定义:Provide a surrogate or placeholder for another object to control access to it.(为其他对象提供一种代理以控制对这个对象的访问)。               优点:        1、职责清晰:真实的角色就是实现实际的业务逻辑,不用关

2017-02-03 09:57:05 269

原创 Unity3D中如何计算场景中的三角面和顶点数

在做游戏开发时,场景中的三角面和顶点数影响着运行效率,尤其是在手机平台上,实时的知道场景中的各项指标,对性能优化来说至关重要,下面我们来实现一个小功能,来实时计算场景中的三角面和顶点数;     如果要知道场景中的三角面和顶点数,首先我们要得到场景中所有的物体,如下:GameObject[] ob = FindObjectsOfType(typeof(GameObject)) as Gam

2017-01-24 14:50:29 6692 1

原创 设计模式之五:建造者模式

建造者模式(Builder Pattern)也叫生成器模式:      定义:Separate the construction of a complex object from its representation so that the same construction process can create different representations.(将一个复杂对象的构建与它的

2017-01-22 16:24:09 316

原创 设计模式之四:模板方法模式

模板方法模式(Template Method Pattern):      定义:Define the skeleton of an algorithm in an operation,deferring some steps to subclasses . Template Method lets subclasses redefine certain steps of an algorit

2017-01-19 17:56:43 192

原创 设计模式之三:抽象工厂模式

抽象工厂模式(Abstract Factory Pattern):     定义:Provide an interface for creating families of related or dependent objects without specifying their concrete classes.(为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类)。 

2017-01-18 17:30:36 389

原创 Not allowed to access triangles on mesh 'Combined Mesh (root: scene)

今天在写项目的时候因为自己的一个失误出现了一个问题   导致报错不止   这里把它记录下来  :Not allowed to access triangles on mesh 'Combined Mesh (root: scene)原因是要查找的Mesh在场景中的物体Static选项被勾选上了  ,所以才导致的上面报错 。

2017-01-18 14:36:00 1577

原创 设计模式之二:工厂方法模式

工厂方法模式(Factory Method):    定义:Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses(定义一个用于创建

2017-01-17 11:28:36 264

原创 设计模式之一:单例模式

单例模式(Singleton Pattern):     定义:Ensure a class has only instance , and provide a global point of access to it.(确保某一个类只有一个实例,而且自动实例化并向整个系统提供这个实例)     优点:     1、在内存中只有一个实例,所以减少了内存开销,特别是在一个对象需要频繁地创

2017-01-16 16:43:07 216

原创 UnityShader学习笔记(八)利用镜面反射让游戏闪耀起来

大家好,我是Zander。 今天来说一下在游戏中如何使用镜面反射来给玩家制造出强烈的视觉冲击和超现实感。       在Unity中,已经为我们提供了一个高光函数,我们可以在自己的着色器中使用。这个函数也就是BlinnPhong镜面反射光照模型,它是高光类型中的俄译中更加基础且高效的形式。由于它已经集成到Unity着色器语言挡住,所以我们可以在Unity着色器中建立高光效果:    首先创

2017-01-13 14:52:14 4509

原创 设计模式从零到一之六大原则

一、单一职责原则(Single Responsibility Principe)简称是SRP。     单一职责原则的好处:     1、类的复杂性降低,实现什么职责都有清晰明确的定义;     2、可读性提高,复杂性降低,那当然可读性就提高了;     3、可维护性提高,可读性提高,那当然就更容易维护了;     4、变更引起的危险降低,变更是必不可少的,如果接口的单一职责做

2017-01-12 15:45:29 238

原创 UnityShader学习笔记(七) 让贴图纹理动起来(河流瀑布特效、精灵序列帧实现)

大家好,我是Zander。这一章我们将使用纹理贴图实现动画、混合和真实特效来达到理想的效果。       纹理贴图可以使我们的着色器快速的实现逼真的效果,但是如果添加的纹理贴图过多,会非常影响游戏性能,特别是在移动设备上,需要将纹理贴图的数目降到最小,这样才能使应用程序加载更快,运行起来更加流畅。      下面带着大家用图片来实现一个河流的效果:            首先创建一

2017-01-11 12:07:11 4769

原创 UnityShader学习笔记(六) 漫反射着色

大家好,我是Zander。今天我们来学习一下漫反射着色器。任何优秀的着色器开始总会依赖于一个基础的漫反射组件或者光照模型。因此从漫反射部分开始着色器的编写是非常有意义的。Baidu百科    漫反射(diffuse)是指光线被粗糙表面无规则地向各个方向反射的现象。当一束平行光触及光滑物体表面时,光线则发生规律性反射,反射后的光线也相互平行,这种规律性反射称为光的单向反射或镜面反射。但物体的

2017-01-10 16:35:07 1225

原创 UnityShader实战 之 体积光的实现

大家好,我是Zander. 今天我们用Shader来模拟体积光。先看一下效果: 这是在ShadowGun场景里的一个实现效果。Shader代码如下:Shader "Custom/Blinking GodRays" { Properties { _MainTex ("Base texture", 2D) = "white" {}

2017-01-06 13:50:47 7949 1

原创 UnityShader实战之 水波纹的实现

大家好,我是Zander. 今天我们来实现一下水波纹的效果。效果如下:  具体实现如下:Shader "Custom/AnimTextureShader" { Properties { _MainTex("Base (RGB)",2D) = "white"{} // 资源图 _NumTexTiles("Num tex tiles",Vector) = (

2016-12-29 16:31:59 6847

原创 Unity Shader学习笔记(五)

ShaderLab中属性的类型和CG中变量的类型之间的匹配关系如图:    uniform关键字:uniform fixed4 _Color;    uniform 关键字是CG中修饰变量和参数的一种修饰词,它仅仅用于提供一些关于该变量的初始值是如何指定和存储的相关信息(这和其他一些图像编程接口中的uniform关键词的作用不太一样)。在UnityShader中,uni

2016-12-29 11:17:41 2935

原创 Unity Shader学习笔记(四) 水气泡 Shader的实现

大家好,我是Zander。最近正在学习Shader,同时也在研究ShadowGun里面的一些渲染,其中有一个场景中有一个水缸气泡的效果感觉挺好,于是拿来学习一下。如图:原理很简单,需要2个层,然后通过图的UV动画来实现视觉效果。具体实现如下:Shader "Custom/Scroll2LayersAditive-addtiveBlend" {Properties { _MainTex (

2016-12-28 11:40:08 5668

原创 Unity Shader学习笔记(三) 基础知识(语义、属性等)详解

在Unity5.2及以上版本中,Unity一共提供了4中UnityShader模板供我们选择,分别是:UnlitShader、SurfaceShader、ImageEffectShader、ComputeShader。    SurfaceShader:会产生一个包含了标准光照模型的表面着色器模板,代码如下: Shader "Custom/SurfaceShader" { Prope

2016-12-26 15:03:21 2587

原创 Unity中防止多个客户端同时打开

大家好,我是Zander。    在游戏开发中,我们通常会为了防止用户同时打开多个端口,进行一些处理。大概的逻辑就是,首先判断有没有端口已经打开,如果有,则关闭将要打开的端口,如果没有,则打开端口。这里只是在Window下进行的操作,下面是具体实现:using UnityEngine;#if UNITY_STANDALONE_WINusing System;using System

2016-12-22 15:02:14 1566

原创 Unity实战 RTS3D即时战略游戏开发(十三) 伤害更新信息显示、销毁单位、爆炸效果

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。今天我们来讲游戏的最后部分:伤害更新信息显示、销毁单位、爆炸效果。上一章我们的单位能相互攻击了,但是还不能刷新数据,这里我们将修改脚本使选中的时候能刷新数据,找到ShowUnitInfo脚本,在其顶部声明一个bool变量,用来确定是否显示数据,编辑如下:using UnityEngine;using System.Col

2016-12-22 14:05:09 1412

原创 Unity Shader学习笔记(二)简单的漫反射

// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'Shader "Lesson/SimpleDiffuse"{ Properties { _Diffuse("

2016-12-21 11:19:03 636

原创 Unity实战 RTS3D即时战略游戏开发(十二) 战斗AI的控制

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。这节课我们接着来讲AI的相关部分:战斗AI。         游戏中要进行战斗,就需要让AI会攻击,首先在一定范围内如果有足够的单位则进行攻击,在AI文件夹中创建一个StrikeAi的脚本,编辑如下:using UnityEngine;using System.Collections;public class Str

2016-12-21 10:42:38 2904

原创 Unity Shader学习笔记(一) shader的基础结构

Shader "Unlit/Shader_1" //shader 路径{ Properties //在这里写的东西都会呈现在Unity检视面板中,可在外部调节 格式:_Name("显示名称",Type) = defaultValue { _MainTex ("Texture", 2D) = "white" {} } //一个Shader中可以有多个SubShad

2016-12-20 13:40:44 468

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