Unity3D
菠萝小笨笨
优秀不够,你是否无可替代!
展开
-
Unity制作“见缝插针”小游戏
控制小球旋转using System.Collections;using System.Collections.Generic;using UnityEngine;public class RotateSelf : MonoBehaviour { //每秒旋转90度 public float speed = 90; // Update is called on...原创 2018-06-13 18:15:16 · 5576 阅读 · 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 · 2719 阅读 · 0 评论 -
HTC Vive交互开发——凝视效果实现
凝视效果相关:通过跟踪头部移动,设置一个代表光标的准星,当停留在某处足够长的时间之后,激发选中逻辑。类似Kinect自然语言交互。多用于移动VR,如Cardboard、GearVR等。VIVE平台使用凝视效果可以增强用户体验。凝视效果实现原理 1. 基于射线原理,通过Raycast判断击中的物体,在Update里面进行逻辑判断; 2. 准星或者十字线基于UGUI,设置为相机...原创 2018-07-22 11:31:45 · 2172 阅读 · 0 评论 -
使用SteamVR实现与物体的交互
使用SteamVR实现与物体的交互需要考虑如下问题: 如何获得按钮事件?如何获得按钮传递的数据?抓取的基本原理(Collider,Rigibody)以及手柄震动的实现使用SteamVR实现与物体的交互实现步骤获取手柄引用手柄与Box的碰撞检测获取按钮事件抓取:Box作为手柄的transform的子物体,失去rigibody相关属性松开:Box的parent为空,重新获取...原创 2018-07-21 18:26:59 · 4843 阅读 · 0 评论 -
VRTK中的物体和手柄高亮以及手柄振动设置
VRTK设计到的相关类控制器高亮:VRTK_ControllerHighlighter物体/控制器(边缘)高亮:VRTK_OutlineObjectCopyHighLighter控制器振动:VRTK_ControllerHaptics脚本控制实现细节控制器整体高亮:highLighter.HighlightController(Color.red);控制器透明:...原创 2018-07-23 16:11:38 · 4656 阅读 · 3 评论 -
VRTK中的UI交互方式
交互方式 使用指针交互:类似于激光笔,通过指针(Pointer)对于UI进行选择,适合远距离交互。 使用手柄交互:直接通过手柄触控交互,适合于近距离交互; 使用手柄与头部配合交互:头部发射指针(通常是光标)对UI进行选择,手柄负责确认选中。具体实现方式 指针交互Hierarchy面板的VRTK_SDK配置 控制器Controller的In...原创 2018-07-23 14:25:10 · 7606 阅读 · 0 评论 -
Unity API——Camera类中的射线检测
相机属性Clear Flags 包含一下4种方式: Skybox:天空盒(默认项)。在屏幕空白处显示当前摄像机的天空盒,如果没有指定天空盒,则会显示默认背景色。 Solid Color:空白处将显示默认此处设置的背景色。 Depth only:仅深度,该模式用于对象不被裁剪。 Don’t Clear:不清除,该模式不清除任何颜色...原创 2018-06-17 21:47:59 · 4921 阅读 · 0 评论 -
3D数学——Unity中的向量运算
零向量 零向量是非常特殊的一个向量,它是唯一一个大小为0的向量,也是唯一一个没有方向的向量。 2D零向量表示为(0,0),3D零向量表示为(0,0,0)。 在Unity中,用Vector3.zero来表示3D零向量。负向量 每个向量都有一个负向量,满足条件:一个向量和它的负向量相加等于零向量。 向量变负,将得到一个和原向量大小相等,方向相反的向...原创 2018-06-14 12:04:38 · 15527 阅读 · 0 评论 -
Unity中使用有限状态机FSM进行游戏开发
总的来说,有限状态机系统,是指在不同阶段会呈现出不同的运行状态的系统,这些状态是有限的、不重叠的。这样的系统在某一时刻一定会处于其所有状态中的一个状态,此时它接收一部分允许的输入,产生一部分可能的响应,并且迁移到一部分可能的状态。 五个要素:状态,事件,条件,动作,迁移。CS 角色FSM图 使用switch (){case….}实现简单的有限状态机。...原创 2018-06-14 10:59:31 · 2384 阅读 · 0 评论 -
Unity中的AI感知系统
AI感知系统模拟视觉、听觉甚至是嗅觉系统。巡逻的士兵可以看到视野前方的敌方角色。巡逻的士兵可以听到四面八方的距离比较近的声音视觉基于圆(球体)的: 基于三角形(椎体)的: 听觉 using System.Collections;using System.Collections.Generic;using UnityEngine;pu...原创 2018-06-14 11:24:59 · 2977 阅读 · 1 评论 -
Unity3D数学——向量
向量的定义 在数学中,向量(也称为矢量),是指具有大小和方向的量。 向量的大小就是向量的长度,也叫做模。向量的方向描述了空间中向量的指向。![这里写图片描述](https://img-blog.csdn.net/20180613185425607?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9rdW56aGFuZw...原创 2018-06-13 19:51:41 · 1308 阅读 · 1 评论 -
Unity中的几种坐标系
在不同的情况下使用不同的坐标系更加方便,所以在Unity中有多种坐标系:全局坐标系 World Coordinate System局部坐标系 Local Coordinate System屏幕坐标系 Screen Space视口坐标系 ViewPort Space全局坐标系 全局坐标系是用于描述场景内所有物体位置的方向的基准,也称为世界坐标系。 ...原创 2018-06-13 18:52:04 · 3037 阅读 · 1 评论 -
Unity3D数学
3D数学:研究在3D几何世界中的数学问题。被广泛的应用于使用计算机来模拟3D世界的领域,比如图形学,游戏,虚拟现实和动画等。 为什么要学习3D数学:掌握了3D数学的知识之后,将来学习图形学、游戏制作都有很大的帮助。1D 3D:three dimensions,立体空间。 1D:关于计数和度量的数学。 数学上,数轴是个一维的图,整数作为特殊的点均匀...原创 2018-06-13 18:35:30 · 817 阅读 · 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 · 5399 阅读 · 3 评论