自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTC Vive开发学习——VRTK(3)更新到新版本SDK!

上两节中,我们主要对SteamVR_Unity_Toolkit(简称旧版VRTK)中的一些基础控制器脚本进行了学习,包括VRTK_ControllerEvents(以下简写会经常省略VRTK_前缀)、SimplePointer和BasicTeleport三个主要脚本。但是最近查资料的时候发现其实VRTK早已更新了功能更强大的版本。在新的VRTK中,不仅更多的VR环境被支持,而且相比旧版本还扩展了更...

2018-05-31 22:47:43 1415

原创 .NET集合浅析

这个学期看了不少STL的东西,也补充了一些以前没有学过的数据结构知识。回过头来看之前写过的一些Unity脚本,发现在当时在基本只会用向量这一种数据结构的情况下,写出了许多啼笑皆非的代码。比如,当时基本只会什么都用List<>,居然在使用for循环遍历一个List的同时,尝试去删除其中的元素...因此,这里我们打开MSDN,总结一下C#中的集合与数据结构。由于受STL的影响,这里在总结归...

2018-05-18 16:02:20 653

原创 HTC Vive开发学习——VRTK + SteamVR Plugin + Hover UI Kit配置

我们基于HTCVive这款VR设备来开发虚拟现实应用。VRTK和Hover UI Kit是查到的两个比较不错的VR开源项目,前者提供了实现VR游戏环境中一些基本交互功能的组件(主要是脚本),后者则提供了一种VR环境下非常友好的UI系统。这里我们讨论如何配置这一套开发环境,并演示一些范例。1.VRTK和SteamVR Plugin配置这个插件的配置方法可参考的资料非常多,除了Github和官网,一些...

2018-05-10 21:34:19 2155

原创 HTC Vive开发学习——VRTK(2)

上一节主要剖析了VRTK_ControllerEvents脚本,这一节我们继续通过Demo来学习VRTK。(二)003_Controller_SimplePointer上一节关于这个Demo的学习主要还是深入剖析VRTK_ControllerEvents脚本。这一节我们正式开始学习这个脚本,它的继承包括两个层次,父类:VRTK_WorldPointer,祖类:VRTK_DestinationMar...

2018-05-09 17:27:40 635

原创 HTC Vive开发学习——VRTK(1)

本系列是基于Unity和HTC Vive开发虚拟现实应用的学习笔记。Unity环境下Vive开发必用的插件是SteamVR Plugin,除此之外,计划参考一些开源项目和免费的Asset Store插件,暂时涉及的包括:VRTK和Hover UI。VRTK包括基于SteamVR Plugin实现的各种组件,除了提供一个Vive开发的辅助工具,更重要的是,它演示了如何使用SteamVR Plugin...

2018-05-06 18:01:19 5388

原创 Unity多线程

本文内容来源于Youtube上的一个Unity教学视频:Tutorial Unity & Multithreading1. Unity多线程的特点Unity可以使用大部分.NET库,包括Threading命名空间下的线程操作,但Unity中的多线程是有限制的,那就是:不能在子线程中修改Unity Object。这里的Object包括transform、gameobject等,但不包括值类型

2017-12-18 20:44:29 4112 1

转载 [C#基础]说说lock到底锁谁?

转载地址:http://www.cnblogs.com/wolf-sun/p/4209521.html写在前面最近一个月一直在弄文件传输组件,其中用到多线程的技术,但有的地方确实需要只能有一个线程来操作,如何才能保证只有一个线程呢?首先想到的就是锁的概念,最近在我们项目组中听的最多的也是锁谁,如何锁?看到有同事使用lock(this),也有lock(private static

2017-11-02 11:21:31 661

转载 HTC Vive Unity 教程

原文:HTC Vive Tutorial for Unity作者: Eric Van de Kerckhove译者:kmyhyHTC Vive 是一个虚拟现实头盔,由 HTC 和 Valve 公司制造。它提供一种在虚拟世界中的浸入式体验,而不是屏幕头像。如果你是一个 Unity 开发者,在虚拟现实游戏中使用 HTC Vive 非常简单——你可以认为 HTC Vive 和

2017-10-30 22:25:54 1522 1

转载 C#设计模式—单例模式

原文链接:http://www.cnblogs.com/zhili/p/SingletonPatterm.html一、引言最近在设计模式的一些内容,主要的参考书籍是《Head First 设计模式》,同时在学习过程中也查看了很多博客园中关于设计模式的一些文章的,在这里记录下我的一些学习笔记,一是为了帮助我更深入地理解设计模式,二同时可以给一些初学设计模式的朋友一些参考。首先我介

2017-09-25 11:03:52 207

转载 Unity 5.6 雾特效开启

原文链接:http://blog.csdn.net/Rhett_Yuan/article/details/544252361、对于雾效的开启在新版的Unity中通过界面菜单Windows->Lighting窗口中Scene页签打开2、勾选Fog即开启雾效,雾效三种方式(雾的浓度和距离相机的距离有关,详细请参考Unity中雾效的模拟)     1)、Linear 即线

2017-08-22 16:31:58 5581

转载 C/C++中extern关键字详解

原文链接:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。      也就是说extern有两个作用,第一个

2017-08-18 16:41:47 232

原创 Unity5.6大规模地形—地形资源构建(3)

在上一篇http://blog.csdn.net/fcauto2012/article/details/72377565中,我们主要讨论了如何给地形资源TerrainData类型添加从WorldMachine中导出的贴图。事实上,这种一块地形使用整张贴图的效果并不是很理想,地形尺寸比较大的时候不能很好地控制细节效果。一种更加常见的做法是使用多种贴图材质,应用splatmap进行混合,本文将讨论如何

2017-08-12 12:23:30 6726 3

原创 浅谈Unity资源异步加载和Coroutine的使用

为了节省内存,游戏的一些资源往往需要在运行时(runtime)动态加载。如果资源本身加载比较耗时,采用同步方法会产生卡顿现象,对此的解决方法通常采用多线程或者使用引擎本身自带的异步加载方法。在Unity开发中,由于一些方法(如Resources.Load)本身不支持在其它线程调用,因此多线程的使用会受到限制;而Unity脚本API对许多加载方式都有相应的异步方法,因此我们需要对Unity异步加载方

2017-05-29 13:38:54 26724 3

原创 Unity5.6大规模地形—地形资源的创建(2)

在系列的上一篇中http://blog.csdn.net/fcauto2012/article/details/70767973(以下简称“文1”),我们介绍了一种使用脚本从原始地形资源(heightmap,texture)创建TerrainData的方法。不过我们只实现了heightmap的导入,并没有实现texture的导入。另外,对于扩展Editor功能实现所谓的“批量操作”也没有做过多的阐

2017-05-17 13:54:55 8558

原创 一个简单的UDP程序—C++服务器和C# .NET客户端

用Unity开发网络游戏除了使用Unity自带的Network类之外,比较原始的方法就是使用Socket接口了。本文基于.NET平台的Socket接口,编写了一个UDP协议下的简单程序,实现了类似于Echo的功能。具体为客户端向服务器发送一个信息,服务器返回一个应答。代码如下:C++编写的服务器端(使用Winsock):#include #include #pragma comm

2017-05-11 17:50:19 3084

原创 C#数据类型转换工具

我们经常在编程中会涉及到将一个字符串表示的数字转换成相应数据类型的变量,比如将“123.4”转换成float a=123.4f。这就涉及到.NET平台的一些转换工具。首先要明确C#中都有哪些数据类型。除了我们熟悉的int,float等,.NET平台有几种基本的内置类型,可以查询MSDN在System命名空间中有内置类型的定义,下面这篇博客也做了相应总结:http://www.cnblogs

2017-05-06 11:06:30 1255

原创 XML文件解析—System.Xml的一些方法

最近想使用XML文档作配置文件,在Unity Editor中批量处理一些东西。对于相同的问题见过有使用txt作为配置文件的案例,不过之前简单学过使用C++的TinyXml库解析XML配置文档,并且XML文档具有结构化的优点,觉得使用起来会比较方便。然而,在Unity中选择使用C#进行开发,那么.NET库的方法就必须要学了。.NET有两种模型来操作XML文档:一种是基于文档对象模型(DOM),使

2017-05-05 21:37:55 5468

原创 Unity5.6大规模地形—地形资源的创建(1)

在很多仿真和游戏应用中都需要大规模地形,这样会使3D环境似乎“无限大”,增加用户的真实感,比如飞行模拟游戏。那么在Unity中如何实现大规模地形场景呢?官方中文论坛中有一个帖子讲得比较在点,帖子地址在这里:http://forum.china.unity3d.com/forum.php?mod=viewthread&tid=117。总结起来有三点:地形分块,动态加载和卸载,内存优化。其中前两点是最

2017-04-25 22:13:09 24998 3

转载 变量命名的三种方法

转载地址:http://blog.csdn.net/arthur_d/article/details/8263294一、匈牙利命名法【Hungarian】:      广泛应用于象Microsoft Windows这样的环境中。      Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西

2017-04-10 16:24:22 4083

原创 Unity项目的目录组织与Prefab的动态实例化

Unity项目的资源目录如何组织呢?作为一个初学者,我提供一个基于Resources的简单方案。我们先来分析一下。首先,一个资源,例如三维模型,Import之后会自动创建一些目录,比如Materials、Texture。我们可以根据自己创建的目录结构来随意移动这些原有内容,比如将材质、贴图和模型文件分别归类整理,但这些操作并不影响模型的使用。其次,整理过后导出为unitypackage后,再次

2017-02-23 20:59:03 3241

转载 Phinecos(洞庭散人) 专注于开源技术的研究与应用 Nehe的OpenGL框架(MFC版)

原文链接:http://www.cnblogs.com/phinecos/archive/2007/07/29/835386.htmlNehe的几个OpenGL框架都是Win32 sdk版本的,我现在需要在MFC下学习OpenGL,今天看了他写的第一个OpenGL框架,就在MFC中实现了下。为了简单起见,把全屏那部分就抛弃掉了,毕竟重点不在这上面,而且MFC要实现这个全屏的功能也不

2016-12-11 16:37:12 406

转载 Phinecos(洞庭散人) 专注于开源技术的研究与应用 基于MFC的OpenGL绘图

源地址:http://www.cnblogs.com/phinecos/archive/2007/07/28/834916.html一、简介  GDI是通过设备句柄(Device Context以下简称"DC")来绘图,而OpenGL则需要绘制环境(Rendering Context,以下简称"RC")。每一个GDI命令需要传给它一个DC,但与GDI不同,OpenGL使用当

2016-12-11 16:31:48 273

原创 PhysX3.3.4 snippets—SnippetHelloWorld (3)

这一篇我们讨论renderGeometry()函数是怎样使用OpenGL实现shape的渲染的。    该函数传递的参数是PxGeometryHolder类型,它保存了shape的Geometry。函数内部通过switch语句判断Geometry的类型来进行gl绘图,eBOX,eSPHERE等可以通过OpenGL的一条语句画出,但是复杂几何体就不行了。那么PhysX中的网格shape类型eTR

2016-12-04 20:08:06 559

原创 PhysX3.3.4 snippets—SnippetHelloWorld (2)

在上一篇中提到renderLoop函数实现了基于OpenGL和Glut的程序框架,其中涉及PhysX的最重要的两个函数是initPhysics()和renderCallback()。这一篇我们分析这两个函数,讨论其中涉及的PhysX核心对象和scene->actor->shape的场景结构。本文的内容大量参考官方Guide和API文档,同时它们也是很好的学习工具,文中一些细节的内容可以从这两份文档

2016-12-03 19:53:16 705

原创 PhysX3.3.4 snippets—SnippetHelloWorld (1)

从GitHub上下载PhysX3.3源代码,里面包含了snippet系列示例。相比于sample,snippet更加简单,它使用OpenGL和glut工具包作为渲染和窗口系统依赖项。此外,运行snippet不需要计算机有Nvidia显卡(sample代码使用cuda)。我们从SnippetHelloWorld开始,学习构建PhysX程序的主要步骤。  HelloWorld示例在窗口中渲染了一些

2016-11-14 19:43:33 1266

原创 OpenGL/GLUT+VS2008配置

OpenGL编程一般需要OpenGL的开发包和辅助工具。对于前者,windows现已提供了相应的支持。32系统中,这些相关动态链接库被安放在系统文件夹下,C:\Windows\System32目录;静态链接库放在C:\Program Files\Microsoft SDKs的子目录中。由于windows的环境变量已经添加,我们在Visual Studio中可以直接使用OpenGL的相关函数了。

2016-10-26 22:15:13 462

空空如也

空空如也

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

TA关注的人

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