自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (11)
  • 收藏
  • 关注

原创 C# 与 C/C++ 的交互

P/Invoke 是可用于从托管代码访问非托管库中的结构、回调和函数的一种技术。托管代码与非托管的区别托管代码和非托管代码的主要区别是内存管理方式和对计算机资源的访问方式。托管代码通常运行在托管环境中,如 mono 或 java 虚拟机等,这些环境提供了垃圾回收器(GC)等工具来管理内存。在托管环境中,程序员通常不需要手动分配和释放内存,因为这些任务由运行时系统自动完成。托管代码通常具有更高的安全性和可移植性,因为它们运行在虚拟机中,而不是直接在操作系统上运行。

2023-10-13 13:33:50 1634 2

原创 Unity InputSystem (二)

自定义类型继承类,并实现Process方法 ,并将 自定义Processors 注册进 InputSystem 中# endif#endif如果需要将自定义 Processors 用于 InputActionAssets 面板,需要为 Processors 创建 Editor 代码// edited.#endif。

2023-04-18 15:23:08 926

原创 Unity InputSystem (一)

InputSystem 介绍

2023-04-18 15:18:43 768

原创 Oculus 手势追踪

Oculus HandTracking

2022-12-06 14:31:58 879

原创 Oculus Deeplink

Oculus 深度链接

2022-11-24 14:38:37 312

原创 Oculus Avatar SDK

Oculus Avatar SDK 调研

2022-10-24 15:29:34 1478

原创 UnityXR SDK 的输入子系统

XR SDK 输入子系统XR SDK 输入子系统是 unityXR sdk 中 用于获取按钮、摇杆和设备跟踪信息的接口。是用户控制数据输入到 Unity 引擎的各种输入端点中的核心子系统。Unity 会将输入信息报告给 InputDevices 和InputSystem。XR 输入信息的同步分为以下步骤1.报告设备连接和断开2.填写链接设备的定义信息3.更新设备的状态4.响应相关事件和查询5.向Inputsystem注册设备布局报告设备链接和断开IUnityXRInputInterface

2022-05-26 10:26:32 1437

原创 markdown语法笔记

1、代码块```Java(```+语言类型)```C#public classs Hello{ public void print() { Debug.Log("Here is done!"); }}2、标题//标题语法# 1级标题## 2级标题### 3级标题#### 4级标题1级标题2级标题3级标题4级标题3、字体//字体样式//加粗**加粗**//下划线<u>下划线</u>//

2022-05-25 20:43:54 129

原创 Newtonsoft.Json序列化库

Unity自己的Json序列化是不支持字典格式的,而且功能比较单一,这里介绍一个.Net中开源的Json序列化和反序列化库和基本用法以及常用的数据处理方法(github地址:https://github.com/JamesNK/Newtonsoft.Json/releases)(百度网盘:链接:https://pan.baidu.com/s/1S4cQW3NoU-g5AMPZ8VKzvQ 提取码...

2019-04-01 16:15:47 866

原创 Unity中JsonUtility对List<T>和Dictionary<Key,Value>的序列化

Unity5.3从开始追加的JsonUtility,但是对于List 和Dictionary不能被直接序列化存储例如: 数据模型using UnityEngine;using System;using System.Collections.Generic;[Serializable]public class Enemy{ [SerializeField]

2017-10-20 10:08:12 15634 3

转载 Sourcetree的分支创建与合并

一、Sourcetree简单介绍通过Git可以进行对项目的版本管理,但是如果直接使用Git的软件会比较麻烦,因为是通过一条一条命令进行操作的。 Sourcetree则可以与Git结合,提供图形界面,使用会方便很多。Git和Sourcetree的安装这里就不多说,网上大把的教程。 二、分支的创建与合并1、创建一个远程仓库在GitHub官网上创建一个新的远程仓库:

2017-09-15 23:23:37 673

转载 UGUI新手引导系统

相关链接:http://www.cnblogs.com/ybgame/p/3844315.html效果图:对于新手引导,主要分两种做法:需要使用shader的和不需要shader的,这里介绍的是后者1.屏蔽点击假如ImageA在ImageB前面,且ImageA完全覆盖ImageB,点击两者的重叠部分,ImageA会收到点击事件,而ImageB不会。对于UGUI来说,

2017-09-15 16:22:31 1757 1

原创 在Unity使用PureMVC

1.动机由于在topameng的cstolua框架中使用到了PureMVC框架,本人初学热更新时便感到了一头雾水,因此又特地的了解学习了PureMVC框架。2.导入PureMVC框架首先要说一些PureMVC的来历,这是一个开源框架最初只是用于as3语言,但是现在已经几乎移植到所有的发展平台,分为单核和多核,我们要使用的是客户端所使用的单核。这里提供一个现成的下载地址,下载后直接拖入unity工程目录下就可以使用。3.流程Command接受玩家的输入(或者视图层发来的输入消息)---

2017-08-25 16:44:23 2187 2

原创 A星寻路算法流程详解

1.简易地图如图所示简易地图,其中绿色方块的是起点,中间蓝色的障碍物,红色方块表示目的地,我们用一个二位数组来表示地图。2.寻路步骤1. 从起点 A 开始, 把它作为待处理的方格存入一个"开启列表", 开启列表就是一个等待检查方格 的列表.2. 寻找起点 A 周围可以到达的方格, 将它们放入"开启列表", 并设置它们的"父方格"为 A.3. 从"开启列表"中删除

2017-08-18 17:59:17 5120 1

原创 Shader学习笔记(五)

编写漫反射Shader代码什么是光照模型光照模型就是一个公式,使用这个公式来计算在某个点的光照效果漫反射 Diffuse = 直射光颜色* max(0,Cos夹角)(光和法线的夹角)当夹角为1是光是直射,小于零则是光照射不到的地方Shader"MyShader/Demo4"{ Properties{ _Diffuse("Diffuse",Color) = (1

2017-08-11 14:31:10 551

原创 Shader学习笔记(四)

Unity Shader中的结构体用法:1.结构体的声明以关键字Struct开始,然后紧跟结构体的名字,然后是大括号和代码块,最后大括号后以分号结尾2.使用时“.引用结构体中的成员变量”相当于是将一些变量进行了封装,比如在shader代码中用到的语义对参数进行解释说明时,提前在结构体中封装好,将会使结构变得清晰,方便。代码演示// Upgrade NOTE: replace

2017-08-10 15:51:45 496

原创 Shader学习笔记(三)

Shader"MyShader/Demo2"{ Properties{ } SubShader{ Pass{ CGPROGRAM //顶点函数 这里只是声明了顶点函数的函数名#pragma vertex vert //片源函数 这里只是声明了片源函数的函数名#pragma fragment frag //POSITION (Shader中的语义说明,把顶点坐标传递给

2017-08-10 15:11:28 499

原创 Shader学习笔记(二)

//从这里指定Shader的名字,不要求跟文件名保持一致Shader "MyShader/Demo1"{ //属性 Properties{ _Color("Color",Color) = (1,1,1,1)//float4 _Vector("Vector",Vector)=(1,1,1,1)//float4 _Float("Float",Float)=0.1//float _

2017-08-10 14:27:25 436

原创 Shader学习笔记(一)

动机最近项目中经常遇到需要修改或者编写shader的需求,每次百度搞完都是懵懵懂懂,也大概查了一些文档,甚至里面的名词都没看懂。所以准备系统的学习入门一下。基本理解首先介绍Unity中两个很重要并且相当常见的组件1.MeshFilter 2.MeshRendererMeshFilter存储一个Mesh(网格,模型的网格,就是模型是由哪些三角面组成,组成一个什么杨的模型,三角面的

2017-08-09 15:49:46 1014

转载 Unity Shader-遮挡处理(X-Ray,遮挡描边,遮挡半透,遮挡溶解)

简介 第三人称游戏,我们经常会遇到相机被场景中的建筑物遮挡的情况。今天,本人就来研究一下相机被遮挡之后的处理。最简单的就是传说中的“鸵鸟法”,假装看不见,在一些游戏里面也有一些玩法设定,或者是本身遮挡较少,影响不大的情况,也可以直接不进行处理。当然,更好一些的遮挡处理,就是X光的效果。在人物被遮挡的部分会透过遮挡物,用一个其他的颜色渲染出来。《火炬之光》中就使用过这个效果:

2017-08-04 13:50:29 4012

原创 浅谈MVC在Unity中的使用

首先我们先谈Unity3D本身的MonoBehavior脚本。MonoBehavior我们可以将他理解为界面层与界面直接沟通的上层脚本,在他底部的控制,逻辑,数据等有必要用MonoBehavior脚本么?如果在unity中我们进行开发时如果滥用MonoBehavior脚本,无疑会造成相当高的耦合度,并且当我们对程序进行迭代时会变得困难重重。所以在这里介绍MVC框架来对代码进行解耦。我们以创

2017-07-19 23:22:36 4422 1

原创 mysql数据库操作(一)

安装mysql的操作这里就不介绍了数据库建表操作,全是可视化界面,单词什么的都很简单直接创建在数据库下面见表就行。我们直接进入代码操作首先还是引入MySql.data.dll在VS项目下添加引用,目录为C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll1.创建mysql数

2017-07-12 17:41:47 868

原创 服务端与客户端交互(三)

主要解决问题:粘包与分包1.什么是粘包:当我们客户端快速的向服务端发送短小消息时,服务端接受消息会出现粘包的情况,比如:当我没for循环的向服务端发送100次数字,而服务段可能只会受到10次消息,而其中发送的这些消息则是粘在了一起发送的,这就是粘包现象。2.出现粘包现象的原因:TCP是以流形式的,他会开辟一个缓冲区,发送端往其中写入数据 每过一段时间就发送出去 然后接收端接收到

2017-07-12 15:13:43 390

原创 服务端与客户端交互(二)

1.增加服务端异步的消息接收2.修改服务器端开启异步处理客户端的请求3.处理服务端处理客户端的连接正常关闭和非正常关闭1.异步接收客户端发送过来的消息,上一篇接受客户端消息是在主线程中等待客户端发送,会造成主线程运行阻塞,这里调整为异步接受主要方法:BeginReceive(字节数组,数组读取偏移,读取长度,SocketFlags.None,相应异步操作完成时回调方法,接受操作的相

2017-07-11 11:43:00 416

转载 Unity Shader-死亡溶解效果

简介游戏里面角色死亡的时候,有很多方式可以表现人物死亡效果。最简单粗暴的,播放完死亡动画直接删除或者直接Y轴逐渐降低,沉到地下;比较好的死亡效果就是今天要研究的这种效果-死亡溶解。个人印象比较深刻的就是《生化危机6》里面的克里斯篇,里面的功夫丧尸挂掉之后都是会有一个类似的死亡溶解效果。不过《生化危机6》这种3A大作的效果肯定不仅仅是一个shader能做出来的,还配合了粒子做出了消散以及

2017-07-10 18:21:31 1949

原创 委托,事件,回调,匿名函数与Lambda表达式详解

委托,事件,回调,匿名函数与Lambda表达式

2017-07-10 16:08:30 397

原创 服务端与客户端交互(一)

服务端与客户端交互

2017-07-10 13:26:49 900

原创 加载读取CSV,txt逗号分格值文件

游戏开发中,经常会使用到很多配置文件。适当的利用配置文件,可以有效实现程序设计的灵活性,避免对程序功能的不断修改,降低程序开发人员与策划人员之间的沟通成本,提高效率。

2017-07-04 10:49:56 926

原创 UGUI鼠标事件绑定+鼠标长按

unity中鼠标事件的监听方式有很多,一般主要使用的是继承EventTrigger实现EventTrigger中给我们提供了17种触发事件,这里不一一赘述,其中在游戏里经常使用的点击长按则没有。比如在商店中购买,在背包中出售,技能加点,点击同一按钮时需要对按钮进行长按处理,来快速增加或减少。在unity 的ngui中有onpressed回调可以使用,但是在ugui中没有这种功能,就需要自己

2017-07-03 18:49:02 2938

原创 Unity 脚本之间的消息传递,事件管理

在游戏中发生了一个事件,我们如何把这个时间通知给其他GameObject:比如游戏中发生了爆炸,我们需要在一定范围内的GameObject都感知到这一事件。有的时候,我们希望摄像机以外的物体不要接到我们这一事件的通知。游戏中丰富多彩的世界正是由通信机制构成的using System.Collections;using System.Collections.Generic;using

2017-06-29 15:34:43 1777

转载 对象池与池管理

Unity编程标准导引-3.4 Unity中的对象池  本节通过一个简单的射击子弹的示例来介绍Transform的用法。子弹射击本身很容易制作,只要制作一个子弹Prefab,再做一个发生器,使用发生器控制按频率产生子弹,即克隆子弹Prefab,然后为每个子弹写上运动逻辑就可以了。这本该是很简单的事情。不过问题来了,发射出去后的子弹如何处理?直接Destroy吗?这太浪费了,要知道Unity

2017-06-29 15:29:41 801

原创 C#单例与继承MonoBehaviour的单例

单例模式是我们最常用的一种设计模式。主要优点:1、提供了对唯一实例的受控访问。2、由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。3、允许可变数目的实例。 主要缺点:1、由于单利模式中没有抽象层,因此单例类的扩展有很大的困难。2、单例类的职责过重,在一定程度上违

2017-06-20 10:02:36 6556 3

原创 多重血条效果

描述:1.当受到伤害较小时,出现“残血”效果2.当受到伤害较大时,出现“流水”效果血条由4部分组成1.剩余学条数2.当前血条剩余血量image3.过度血条image4.下一血条显示颜色 image注意:这里的血条显示image 需要将Image.Type设置为Filled,fill Method设置为水平,using UnityEngine;u

2017-06-19 14:53:32 1381 1

转载 粒子显示在UI前方

参考链接:http://www.xuanyusong.com/archives/3278Canvas的Render Mode的三种模式比较:http://www.manew.com/thread-90759-1-1.html?_dsign=b522d837Canvas组件中的Render Mode:1.Screen Space - Overlay此模式不需要UI摄像

2017-06-19 09:42:35 2443

转载 当初的愿望实现了吗?

自己收藏的一篇好文,希望它能够带给大家,些许的触动。        你今年二十五六岁,站在人生的十字路口,你除了一纸文凭什么都没有。你离乡背井在异地读了四年大学,在这个陌生的城市你依然找不到归属感。你还是搞不懂错综复杂的交通,你一开口大家都知道你是外地人。你不是官二代不是富二代,你没有丰富的背景,只有一个落寞的背影。    你不是名牌大学的优秀毕业生,你念的不是

2017-05-23 16:18:12 455

转载 Unity3D换装系统原理

在unity中实现换装的方式主要有三种:1.换材质或换贴图2.显示或隐藏模型3.合并网格第二种主要用于换装备,但当涉及到“本质”上的换装时(例如猪脚是普通人,发动技能后左手变成机械手),就行不通了。因此,有必要学习一下合并网格。而官方的换装demo使用的是第三种。由于前两种比较简单,所以学习换装系统的重点就是第三种了。1、角色模型制作  Unit

2017-05-05 16:09:42 1347 1

原创 对foreach进行内存优化

int[] (Array) 数组类型 使用 foreach 不会产生GC内存,使用GetEnumerator 产生GC内存 原因: 数组中的Enumerator 是对象类型这是intArray调用GetEnumerator产生GCAlloc的原因。List  泛型list类型 使用foreach会产生GC内存,使用GetEnumerator不产生内存。原因:泛型List

2017-04-19 10:09:41 1635

原创 Unity+OpenCV 人脸识别追踪

项目需要一个人脸识别追踪的效果,所以查找了一些资料,自己做了一个功能,基本效果已经实现了。首先项目需要OpenCV的开发环境,所以首先一定要在开发电脑上装上OpenCV的开发环境,流程很简单,直接去http://opencv.org/downloads.html官网下载OpenCV的安装文件就可以了,然后配置电脑的环境变量。我的电脑是windows操作系统配置好就是这个样子,然后要把用到的

2017-04-10 13:49:33 16375 2

原创 边缘检测效果动画Shader实现

AR项目中在扫描识别图时需要加上扫描识别效果,加上边缘识别后看起来效果更好,所以就需要这样一个边缘检测效果的动画Shader。

2017-03-27 11:00:35 1188 2

原创 List.Sort()小技巧

List list = parentGo.GetComponents();list.Sort(delegate(UIPanel a, UIPanel b){ return a.depth.CompareTo(b.depth);});list.Sort((UIPanel a,UIPanel b )=> a.depth.CompareTo(b.depth));

2017-03-21 14:32:50 594

Ultimate Text Damage 1.1.2.unitypackage

Ultimate Text Damage 1.1.2.unitypackage

2021-12-08

Damage Numbers Pro 3.6.unitypackage

伤害飘字

2021-12-08

ColorPicker.unitypackage

ColorPicker.unitypackage

2021-11-08

2D Graveyard Pack - Handcrafted Art.zip

高质量的墓地和公墓资产。 非常适合2D游戏,例如平台,射击游戏或无尽的跑步者。拥有 100多种平台,插件,背景精灵,非常适合创建很多品种! 包装包括: -20个坟墓/陵墓 -6个平台元素 -5个雕像 -11个骨骼/头骨 -27种草/树/植物 -33个栅栏/大门 -6个蝙蝠 -5个石头 -4个乌鸦 -1个头骨月亮

2021-10-28

Gesture Recognizer 2.4.unitypackage

unitypackage文件 用于触摸或鼠标输入的手势识别器。它可以识别玩家绘制的图画。

2021-10-27

简单实例-在Unity中使用MVC框架

简单演示在Unity中怎么使用MVC框架思想开发

2017-07-20

多重血条显示效果

模拟地下城与勇士扣血效果 多管血颜色区分 描述: 1.当受到伤害较小时,出现“残血”效果 2.当受到伤害较大时,出现“流水”效果

2017-06-19

Unity+OpenCV 人脸识别追踪源码

人脸追踪,识别

2017-04-17

Unity3d绿幕抠图源码

Unity3d绿幕实时抠图源码,类似于拍摄电影中的绿幕拍摄

2017-04-14

ScrollView优化

ScrollView优化

2017-04-14

Unity+OpenCV 人脸识别追踪

人脸追踪,识别

2017-04-14

空空如也

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

TA关注的人

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