C#
菠萝小笨笨
优秀不够,你是否无可替代!
展开
-
面向对象编程
为什么使用面处对象编程 为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会。 面向对象编程也叫做OOP编程。 简单来说面向对象编程就是结构化编程,对程序中的变量结构划分,让编程更清晰。类是什么东西 类实际上是创建对象的模板,每个对象都包含数据,并提...原创 2018-04-01 20:52:41 · 263 阅读 · 0 评论 -
VR中的UI
VR中UI的出现场景菜单游戏元素UI,如血条、生命值、剩余时间对话框提示信息十字光标VR中的UI一般构建步骤新建CanvasRender Model改为World Space修改缩放修改Dynamic Pixel Per Unit添加相关元素Interaction System 中的UI交互按钮点击基于Collider,一般放置为BoxCollider...原创 2018-07-22 14:25:40 · 2723 阅读 · 0 评论 -
VRTK中的物体和手柄高亮以及手柄振动设置
VRTK设计到的相关类控制器高亮:VRTK_ControllerHighlighter物体/控制器(边缘)高亮:VRTK_OutlineObjectCopyHighLighter控制器振动:VRTK_ControllerHaptics脚本控制实现细节控制器整体高亮:highLighter.HighlightController(Color.red);控制器透明:...原创 2018-07-23 16:11:38 · 4664 阅读 · 3 评论 -
VRTK中的UI交互方式
交互方式 使用指针交互:类似于激光笔,通过指针(Pointer)对于UI进行选择,适合远距离交互。 使用手柄交互:直接通过手柄触控交互,适合于近距离交互; 使用手柄与头部配合交互:头部发射指针(通常是光标)对UI进行选择,手柄负责确认选中。具体实现方式 指针交互Hierarchy面板的VRTK_SDK配置 控制器Controller的In...原创 2018-07-23 14:25:10 · 7612 阅读 · 0 评论 -
Unity API——Camera类中的射线检测
相机属性Clear Flags 包含一下4种方式: Skybox:天空盒(默认项)。在屏幕空白处显示当前摄像机的天空盒,如果没有指定天空盒,则会显示默认背景色。 Solid Color:空白处将显示默认此处设置的背景色。 Depth only:仅深度,该模式用于对象不被裁剪。 Don’t Clear:不清除,该模式不清除任何颜色...原创 2018-06-17 21:47:59 · 4929 阅读 · 0 评论 -
Unity中使用有限状态机FSM进行游戏开发
总的来说,有限状态机系统,是指在不同阶段会呈现出不同的运行状态的系统,这些状态是有限的、不重叠的。这样的系统在某一时刻一定会处于其所有状态中的一个状态,此时它接收一部分允许的输入,产生一部分可能的响应,并且迁移到一部分可能的状态。 五个要素:状态,事件,条件,动作,迁移。CS 角色FSM图 使用switch (){case….}实现简单的有限状态机。...原创 2018-06-14 10:59:31 · 2387 阅读 · 0 评论 -
Unity中的AI感知系统
AI感知系统模拟视觉、听觉甚至是嗅觉系统。巡逻的士兵可以看到视野前方的敌方角色。巡逻的士兵可以听到四面八方的距离比较近的声音视觉基于圆(球体)的: 基于三角形(椎体)的: 听觉 using System.Collections;using System.Collections.Generic;using UnityEngine;pu...原创 2018-06-14 11:24:59 · 2980 阅读 · 1 评论 -
C# 匿名类型
匿名类型 我们创建变量(对象的时候),必须指定类型,其实我们也可以不去指定类型,这个就是匿名类型,我们可以使用var声明一个匿名类型。 使用var声明的匿名类型,当初始化的时候,这个变量的类型就被确定下来,并且以后不可以修改。 var var1 = 88;...原创 2018-04-01 16:31:14 · 159 阅读 · 0 评论 -
C#属性
属性的定义属性的定义结构public string Name{ get{ // get code } set{ //set code } }定义属性需要名字和类型;属性包含两个块 get块和set块;访问属性和访问字段一样,当取得属性的值的时候,就会调...原创 2018-04-01 15:50:22 · 356 阅读 · 0 评论 -
C#抽象类
抽象类 C#允许把类和函数声明为 abstract。 抽象类不能实例化,抽象类可以包含普通函数和抽象函数,抽象函数就是只有函数定义没有函数体。 显然,抽象函数本身也是虚拟的Virtual(只有函数定义,没有函数体实现)。 类是一个模板,那么抽象类就是一个不完整的模板,我们不能使用不完整的模板去构造对象。abstract class Building{ public ...原创 2018-04-01 15:07:48 · 561 阅读 · 0 评论 -
C#接口(interface)
定义和实现接口定义接口(跑的功能)public interface IRunHandler{ public void Run(); }实现接口public class Type1Enemy:IRunHandler{ }定义一个接口在语法上跟定义一个抽象类完全相同,但不允许提供接口中任何成员的实现方式,一般情况下,接口只能包含方法...原创 2018-04-01 14:58:58 · 294 阅读 · 0 评论 -
HTC Vive 交互开发——手部模型替换和抓取实现
手部模型替换和抓取实现 可以在BasicVRHand.unitypackage包中中获取手部模型。 Hierarchy面板的VRTK_SDK配置 左右控制器Inspector面板设置 using System.Collections;using System.Collections.Generic;using UnityEngine;using VRT...原创 2018-07-22 17:06:01 · 5405 阅读 · 3 评论