自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 unity 2018.1.8 + vuforia 7.2 之 Ground Plane Stage和Plane Finder

在更新到了最新的版本之后,unity和vuforia都做出了很大的更新,我们主要看一下平面识别的变化。有一点需要着重强调的是,在7.2版本中,设备追踪变成了全局事件,如果选择开启设备追踪,那么所有的Target都会享受到这一效果。新版Ground Plane Stage新的Ground Plane Stage与旧版相比改变了小部分的UI,除此以外没有大的变化。全新的平面查找器(...

2018-07-19 13:55:35 3950 3

原创 unity 2017.3 + vuforia 7.0 之 AR场景和非AR场景切换

PS:如果你觉得这篇文章帮到了你,请顶我一下。我们有理由相信,几乎所有AR应用都有需求制作不使用AR技术的scene,实际操作之后我们发现,只要你勾选了unity的工作模式就会转变成基于vuforia框架的AR模式,所有的场景在被调用时都会默认使用ARCamera而非Main Camera最后在unity的论坛上找到了vuforia的官方人员(我也不知道为什么我没在vuforia的论坛见到他),他...

2018-01-19 16:18:11 4388 12

原创 unity 2017.3 + vuforia 7.0 之 Ground Plane Stage

水平面识别在之前一直是ARkit的保留项目,但在PTC更新了vuforia7.0以后,也提供了水平面识别,经过一番研究之后终于成功的实现了水平面识别。PS:平面识别是限制机型的PS:如果你觉得这篇文章帮到了你,请顶我一下。第一步:你必须将unity更新至2017.3及以上的版本,因为之前的版本是不支持vuforia7.0的,自然也就无法使用新的target这是新的AR目

2017-12-27 10:48:31 6367 25

原创 unity 存档

存档这个需求拆开来说无非是两部分,存什么和怎么存。存什么以我的项目为例,我需要保存游戏对象的种类和坐标作为存档,用户读取存档时,再重新构建场景。首先,我们需要一个存档类 public List<int> cubeListIndex = new List<int>();//方块的种类 public List<Vector3> cu...

2018-11-13 16:26:50 1682

原创 unity Material的批量修改和单独处理

蹭一波1024的热度,祝大家节日快乐。Materialunity为我们提供了Material这一模块,使得我们对游戏对象的各种渲染操作更加便捷。 一个完整的Material由shader和Texture组成。shader:整个Material的面板其实都是由对应的shader决定的,这个可视化的部分由unity shader提供。Texture:在unity中贴图不...

2018-10-24 15:47:05 8933

原创 LeetCode 初级算法 C# 只出现一次的数字

思路一最常规的思路是,把数组双重遍历,如果存在nums[i]==nums[j]就跳出,直到找到不存在重复的元素为止。思路二使用 异或 ,看看异或的解释:具体代码如下: pubulic static int FindSingleNumber(int[] nums) { int temp = 0; ...

2018-09-06 21:44:48 419 1

原创 LeetCode 初级算法 C# 存在重复

解法一时间复杂度O(n^2)方法,将数组遍历两次,最容易想到的方法。 public static bool CheckRepeat1(int[] nums) { if (nums.Length < 2) return false; for (int i = 0; i < nums.Length...

2018-09-05 20:46:29 401

原创 LeetCode 初级算法 C# 旋转数组

解法一1.每次将数组旋转一位2.旋转K次  public static int[] nums = new int[7] { 1, 2, 3, 4, 5, 6, 7 }; public static void Rotate1(int[] nums, int k) { if (nums.Length == 0...

2018-09-04 20:47:25 549

原创 LeetCode 初级算法 C# 买卖股票的最佳时机 II

解题思路题目中特别强调了同一天不能既卖出又买入,实际上则是一个语义陷阱,乍一看是这么回事,实际上在计算中不用特别处理。1.本体要求尽可能多的完成交易,首选贪心算法取当前最优解,即如果第二天的价格比第一天高我们就买入卖出,不考虑间隔的问题。2.假设连续三天价格为A B C,且A<B<C,那么A买入C卖出和A买入B卖出B再买入C再卖出,数学结果是一样的。3.假设连续四天...

2018-09-04 10:04:23 582

原创 LeetCode 初级算法 C# 从排序数组中删除重复项

 题目题目 C#中的数组在声明时必须指定长度,且无法动态的删除数组中的元素,只可以替换,列表可以动态的修改长度。数组将数组重新排序,重复元素后移,返回不重复的元素的数量。空间复杂度 O(1) public static int[] nums1 = new int[10] { 0, 0, 1, 1, 1, 2, 2, 3, 3, 4 }; p...

2018-09-03 11:17:41 563

原创 Unity 对象池

出于对性能的考量,对象池是所有项目都无法绕开的点。从项目的实际需求和DEMO时的表现来看,我首先需要搭建对象池用于优化游戏性能,毕竟iPhoneX都卡的游戏能卖给谁呢。单例创建我们的对象池,首先从单例开始,单例有许多种写法,根据需求来就好了,不必搞得太复杂。我现在的第一个需求是存放场景中不断重复生成的物体,比如子弹,敌人。 /// <summary> ...

2018-07-19 17:55:17 475

原创 unity 2017.3 安卓蓝牙(三)向蓝牙设备发送(Write)消息

API插件为我们准备的API是BluetoothLEHardwareInterface.WriteCharacteristic(string name, string service, string characteristic, byte[] data, int length, bool withResponse, Action<string> action);共七个参数,分别是:设...

2018-06-21 14:40:54 4022 4

原创 unity 2017.3 IOS蓝牙(一)权限配置

需要导入的插件和安卓一样,都选择Bluetooth+LE+for+iOS+and+Android+v2.3,API不需要改变,不同的地方在于Xcode部署的时候需要设置一番。IOS蓝牙权限配置在Build Phases中搜索文件UnityBluetoothLE.mm,然后在compiler flags中双击填写加入-fno-objc-arc。导入IOS蓝牙框架...

2018-06-15 14:59:41 2500

原创 unity 2017.3 安卓蓝牙(二)订阅蓝牙及数据解析

接上篇,我们写到了连接蓝牙,之后我们就需要订阅蓝牙的信息了。订阅蓝牙消息最后一个参数是一个回调,它会传回三个信息分别是地址、UUID和数据,这个数据是串口通讯中常用的byte[],出于项目需要,我要进行一次数据转换。    /// <summary> /// 订阅蓝牙消息 /// </summary> public void SubscribeBlu...

2018-06-14 14:18:54 3690 9

原创 unity 2017.3 安卓蓝牙(一)初始化蓝牙连接

最近在使用Bluetooth+LE+for+iOS+and+Android+v2.3这个插件开发基于安卓设备的蓝牙模块。蓝牙模块大概分成七步:1.建立中心角色2.扫描外设(discover)3.连接外设(connect)4.扫描外设中的服务和特征(discover)    4.1 获取外设的services    4.2 获取外设的Characteristics,获取Characteristics...

2018-06-13 14:16:17 13425 28

原创 unity 2017.3 Tips 动态替换materials

我试图替换某个模型的materials时犯了经验错误当我运行时没有任何变化正确的做法是在你试图替换materials时,只能选择将整个数组替换掉,而不是替换数组中的某个值。因为unity规定的...

2018-05-14 16:28:19 750

原创 unity 2017.3 IOS打包报错 unity端

持续更新中1.dll用于几个位置Plugin 'websocket-sharp.dll' is used from several locations:找到你使用的dll文件,在Inspector界面勾选你需要使用的选项。2.UnityLinker.exe将PlayerSettings中的API Compatibility Level设置为.NET2.0。3.Assertion failed: T...

2018-04-23 09:33:31 1745

原创 APK发布至应用商店流程

本文是完整的android发布APK流程,以应用宝为例,注意是发布不是打包。1.首先注册腾讯开放平台2.登录并点击应用接入3.选择安卓(免费游戏)4.重点——你必须拥有软件著作权才有权利发布自己的软件5.重点——上传未加固的APK无法通过审核6.软件在加固的时候会删除你之前的安卓签名,你需要手动签名,本文重点,如何签名首先,找到CMD(不要用win+r),一般在C:\Windows\System3...

2018-04-19 17:47:25 4356

原创 unity 2017.3 Tips 带形参的点击事件

最近开始做UI,偶然间发现UGUI提供的按钮支持点击事件带有形参。不带形参:带形参:瞬间思路扩充了很多。

2018-04-11 16:04:27 243

原创 unity 2017.3 Tips UGUI 按钮的点击区域被遮挡

    最近做UI,偶然间发现有的按钮的响应区域有问题,有的按钮命名点击了却没有响应,后来发现是上面放置的文字挡住了,检查了一番后发现问题出在raycast target上。    UI事件会在EventSystem在Update的Process触发。UGUI会遍历屏幕中所有RaycastTarget是true的UI,接着就会发射线,并且排序找到玩家最先触发的那个UI,在抛出事件给逻辑层去响应。这...

2018-04-09 16:40:57 4956

原创 unity 2017.3 Tips GIF图片

unity原生组件中不支持GIF图片,要么选择撸代码,使用循环的方式强行动图,要么求助插件。跨平台播放gif:AnimatedGifPlayer插件1.导入插件注意这个文件夹,GIF图片必须存放在此文件夹内。2.添加组件Raw Image3.添加组件Animated Gif Player4.点击 Select GIF选择图片5.大功告成...

2018-04-04 16:00:39 561

原创 unity shader 入门之路(八)边缘自发光-Glow

unity5.5以后的镜头后期都被整合进了Post-processing Stack,可以在Asset Store中搜索导入。想实现Glow效果,先要做一些准备工作:1.导入Post-processing Stack2.新建Post-processing文件3.在Main Camera添加Post-processing组件4.把新建的文件拖进去以上都不是重点,重点是shader怎么写:1.New一...

2018-04-02 10:54:57 8231 1

原创 unity shader 入门之路(六)shader forge

枯燥无味的理论知识看得多了头疼,然后我就去找了关于shader的可视化编辑器。shader forge作为一个非专业初入门者,直接依靠文本编辑器来编写shader难度太大,依靠可视化编辑器则可以事半功倍。...

2018-03-30 18:10:56 581

原创 unity shader 入门之路(七)初次使用shader forge

shader forge制作兰伯特模型与代码的对比。

2018-03-30 18:09:36 1773

原创 unity 动态匹配按钮的点击事件

我们在UI的时候,肯定少不了创建Button,既然是按钮肯定少不了点击事件,如果按钮少了还好说,通过unity面板进行可视化操作就好了,但如果一个UI里面有大量的按钮,一个游戏里有很多重复场景,那么我们在制作UI的时候就会产生大量的重复操作,《代码整洁之道》里有一句话说的很好:重复是万恶之源。代码如此,开发的方方面面都是如此。跟小伙伴闲聊的时候得知,可以去制作一个按钮的匹配的脚本,创建按钮后去

2018-03-12 15:57:30 5248

原创 unity 贝赛尔曲线

当我们需要一些轨迹或者弹道之类的效果时,肯定会先考虑贝赛尔曲线。什么是贝塞尔曲线:贝赛尔曲线是一条光滑曲线,很适合做导弹发射运行轨迹。C#代码:第一步,我们首先要将这条曲线的点全部计算出来:void Analysis() { for (int i = 0; i < 200; i++) { /

2018-03-09 11:22:58 562

原创 unity 2017.3 原生录音

unity3d 2017.3 Microphone录音

2018-03-06 14:22:33 482

原创 unity 生命周期

unity脚本生命周期

2018-03-05 11:22:32 395

原创 unity shader 入门之路(五)标准光照模型理论

距离上一次学习shader已经过去六十多天了,惭愧惭愧。接着上次看书的地方接着学习,这次我学习的是标准光照模型:自发光,漫反射光,高光反射,环境光。环境光:在真实的世界中,除了直接光照,物体也可以被间接光照所照亮,间接光照指的是,光线通常会在多个物体之间反射。unity中使用环境光来近似模拟间接光照,是一个全局变量,即场景中的所有物体都使用这个环境光。自发光:通常在实时渲染中,自发光的表面往往并不...

2018-03-02 16:45:00 888

原创 unity 系统类的扩展方法

扩展系统类,自定义编辑器。

2018-03-01 18:03:24 1136

原创 unity 道具合成的判断(二维数组)

直接上代码:用一个二维数组存储允许玩家组合的道具列表,然后去判断玩家选择的三种道具是否合法。using UnityEngine;public class Arithmetic : MonoBehaviour{ private string[,] arr; private string input1 = "A"; private string input2 = "B"...

2018-03-01 14:06:43 1679

原创 unity 2017.3 + vuforia 7.0 之 利用滑动屏幕与AR对象进行交互

今天琢磨了一下滑动的实现,我希望实现的功能呢,是用户在手机上滑动一下手指,AR物体就旋转一下,当然用户左滑左转,右滑右转。利用射线获取到用户看到的AR模型,然后实现滑动屏幕旋转AR模型。先上代码:版本号:untiy 2017.3首先是定义的字段  private Vector3 firstPos;//玩家初次点击的位置 private Vector3 curre...

2018-02-27 14:37:30 3343 3

原创 unity 2017.3 + vuforia 7.0 之 利用射线检测与AR对象进行交互

写在新的开始今天是戊戌狗年的第一天班,新的一年当然要从新的一篇博客开始。因为项目需要,今天研究了一下如何在AR场景中使用射线检测的方法和AR对象进行互动。直接上代码:        //如果识别到平面 则开始发射射线 if (DeployStageOnce.Initialize) { Debug.Log("检测到水平面"); ...

2018-02-26 18:22:20 1676 3

原创 unity 2017.3 动态修改粒子特效参数

在各类项目中,我们都会经常的使用粒子特效,虽然大多数时候是美工提供完整的特效,但是个别情况下,我们还是需要根据实际情况去动态的修改特效的某个或多个参数。第一步,我们需要先获取到粒子组件。我们可以公开一个GameObject的字段来获取这个对象,或者是去Find对象,当然直接挂在它身上也可以。第二步,我们需要获取到这个组件,直接GetComponent()就好了。第三步,这里

2018-02-09 16:11:51 9912 2

原创 unity 2017.3 Tips 利用AnimationController使动画倒播

首先,你需要新建一个动画控制器打开你新建的AnimationController右键点击空白处创建新的动画任务随便拖一个动画进去注意,Speed的值既是决定动画播放速度的,那么我们将其改成-1即可实现动画倒播的目的,也可以通过放大和缩小这个值加快和减慢动画的播放速度。

2018-01-29 16:49:27 795 1

原创 unity 2017.3 Tips 重置场景后变暗(丢失烘焙效果)

Unity 2017.3重置游戏场景后场景变暗这是重置场景的代码,其实就是重新载入本场景。SceneManager.LoadScene(int);原因:选择的光照模式是实时光照,编辑器在当前场景时,它的灯光是已经渲染好了,但重新加载的时候灯光没有进行渲染。解决方法:Window>>Lighting>>Set

2018-01-25 17:49:01 6894

原创 unity 2017.3 Tips 用非标准化颜色设置标准化颜色

Setting normalized color with a non-normalized color: RGBA(0.000, 213.000, 255.000, 1.000)UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)用非标准化颜色设置标准化颜色:RGBA(0.000, 213000, 255.000, 1.

2018-01-24 10:21:28 1494

原创 unity 2017.3 Tips 控制颜色渐变

Color的用法

2018-01-22 16:47:33 2003 1

原创 unity 2017.3 + vuforia 7.0 之 ObjectTarget(3D物体识别)

ObjectTarget也就是平常所说的3D目标,vuforia这一功能主要是针对某一现实中3D物体的,当我们试图识别现实中的3D物体时,我们就需要用到ObjectTarget。 ObjectTarget和ImageTarget一样需要用到数据集,所以我们在使用ObjectTarget之前需要先去vuforia官网获取数据集。1.vuforia官网登录注册就不说了如果看不懂...

2018-01-19 12:26:27 3551 3

原创 unity 2018.1.8 + vuforia 7.2 之 MultiTarget(多目标识别)

vuforia的多目标识别MultiTarget其实更像是立方体识别,允许用户创建一个由六个面组成的立方体目标。创建Target1.选择第二个选项,开始创建MultiTarget。2.输入Target的长宽高,之后上传服务器的图片像素比例也需要遵守这个比例。 3.点击这个Cube3,进入编辑页面 4.可以点击右侧按钮来上传各个面的图像,也可以双击左侧的立方体...

2018-01-15 16:38:24 3147

空空如也

空空如也

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

TA关注的人

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