
unity
文章平均质量分 69
小陀螺_Coder
个人主页:https://chenzhibin29.github.io/
展开
-
unity协程与迭代原理
对于协程的理解,我认为最好的说法是: 一段顺序的代码,然后标明哪里需要暂停,然后在下一帧或者一段时间后或者某个函数或协程执行完成之后,系统会继续执行后面代码。协程不是线程,也不是异步执行的。这就说明它的两个作用,定时,迭代(与for,foreach一起用) 举个例子, void Start() { StartCoroutine(Move())...原创 2018-04-20 09:49:21 · 596 阅读 · 0 评论 -
unity-AI设计理念和编程思想(二)
AI角色通过感知系统获取信息之后要进行处理,并决定下一步将要执行的行为,这就是决策层需要做的工作。现在比较流行的自主决策系统主要有两种:有限状态机和行为树。 有限状态机(FSM): 由一组状态(包括一个初始状态)、输入和状态转换函数组成。什么是状态呢?简单来说,就是不同状态对应不同行为。它是由游戏设计者事先设定的,比如一个具有情绪的AI,高兴时会哈哈大笑,伤心时会哭。需要注意...原创 2018-05-22 20:46:52 · 689 阅读 · 0 评论 -
unity-Mecanim动画系统
目录: [toc]概述 Mecanim是unity一个集成的丰富的动画系统,它的工作流主要分为三个:模型导入,角色建立,角色运动。它支持很多功能,包括:运动重定向(即把动画从一个模型应用到另一个模型上去 );动画片段工作流(可以很好的衔接动画片段 );管理动画可视化(类似UE4的蓝图 );逆向动力学功能等。而且针对人形角色提供了一种特殊的工作流,包括Avater的创建和对肌肉...原创 2018-05-28 12:00:51 · 623 阅读 · 0 评论 -
unity-AI设计理念和编程思想(三)
前两个模块大致讲了讲AI角色的感知和自主决策,决策之后呢?当然就要开始行动了。比如AI角色发现一个目标,并决定去攻击它,但它与目标之间可能还有一段距离,AI角色需要先到达目标点,这就需要AI角色自主寻路了,还有玩家点击地图上的某点,寻路模块需要找到一个最佳路线赶过去。最常用的便是A*寻路了,当然unity自带的Navmesh导航网络也是基于此算法。 A*寻路常用术语: 地图:它...原创 2018-05-24 10:21:35 · 1036 阅读 · 0 评论 -
unity-leap motion 交互引擎
介绍基本组成物理默认介绍 前段时间使用leap motion加入到我的VR程序当中,来代替手柄,但没有写交互。本以为可以使用手的模型来模拟鼠标点击与GUI发生交互,后来发现无法实现,原因之一是程序运行时画布Canvas始终会在摄像机的前面,而这个摄像机比较特殊,是VR摄像机,在VR世界里,我是无法看到UI,后来我找到了官方的example,我知道了必须自己设计三维物...原创 2018-06-05 09:56:08 · 4946 阅读 · 3 评论 -
unity-默认函数的生命周期(执行顺序)
概述主要执行顺序主要函数介绍概述 unity的API中详细介绍了unity脚本默认函数的执行顺序,点这里访问。这里主要介绍下面这张图: 主要执行顺序编辑器->初始化->物理系统->输入事件->游戏逻辑->场景渲染->GUI渲染->物体激活或禁用->销毁物体->应用结束原创 2018-05-29 09:09:54 · 13302 阅读 · 0 评论 -
unity-Camera参数介绍、种类、操作以及获取相机截图画面
总结一下学到的Camera 相关知识。unity中的Cameraunity中相机参数介绍Camera种类对相机操作截取相机画面到本地unity中的Camera 相机是我们观察游戏世界的窗口,在unity中至少需要一个相机,可以使用多个相机来对世界不同视角的观察,加上脚本之后,可以对相机进行一些操作,比如旋转,平移等等。unity中相机参数介绍1....原创 2018-05-24 18:49:32 · 9940 阅读 · 0 评论 -
AR漫游系列之实现模型单指旋转,双指缩放
AR近几年之所以发展不太好,一是内容缺乏新颖,二是交互能力不佳。今天,我们来实现对模型最基本的一个操作,旋转和缩放,由于我们是打包成安卓上的,所以是用手指触摸屏幕进行操作。 先说缩放,我们放大缩小其实是判断手指之间的间距是增大了还是缩小了,当然你得记录一个初始值,就是你手指最初触摸屏幕的差值,比较之后,你就可以根据一定比例来缩放物体了,当然你改变的是Scale这个值。 旋转...原创 2018-04-03 09:32:26 · 1020 阅读 · 0 评论 -
AR漫游系列之横竖屏及场景切换
实践的过程中不断总结,本系列以国内easyAR为例,展示一个AR应用的开发过程。本人水平有限,欢迎批评指正。 easyAR的安装配置我曾写过一篇博文:传送门,然后先说横竖屏切换。我们都知道手机横竖屏切换是手机里的重力感应器在起作用,这里我们无需深究。在一个场景中,比如打开APP的界面,它是一个Canvas,相当于一个幕布,你可以在上面加上图片、按钮、文字等等。我们需要做的工作是将这个...原创 2018-03-29 14:33:42 · 1220 阅读 · 0 评论 -
unity-杂记
在unity开发过程中,会遇到很多问题,在这篇博客里记载我遇到的问题和解决方案~~长期更新~~碰撞体与碰撞体之间忽略碰撞 问题描述:我在一辆小车上新加了一个碰撞体,由于车自带有碰撞体,两者发生碰撞导致小车严重抖动。发现把物体设为车的子物体也无法解决,后想到了忽略碰撞。 解决方案如下:using UnityEngine;using System.Colle...原创 2018-06-08 13:33:59 · 417 阅读 · 0 评论 -
unity-AI设计理念和编程思想(一)
由于前段时间的寻路小车让我意识到AI在游戏还有虚拟现实中的重要性,回想以前的无论是《地下城与勇士》还是《英雄联盟》里面的野怪都是很被动,几乎可以忽略自主能力,当然有好处也有坏处。 首先,需要明白,AI对象是非玩家角色,AI角色可以认为它们处于感知->思考->行动这样一个循环中。现代游戏对AI的需求分为三种:运动能力,决策能力,战略能力。比如无论是英雄联盟还是王者荣耀都有人...原创 2018-05-22 15:16:20 · 1835 阅读 · 0 评论 -
unity-Leap Motion初体验
相比VR手柄,手势识别无需两个笨重的手柄,只需要一个小小的传感器放置在头盔前方,原理是利用传感器发出的红外线捕捉你的手部信息,将其发送给unity,unity会相对调整手的模型然后显示出来。 首先,去官网下载leap motion的unity版的SDK,导入unity即可使用,额外的也需要在电脑上安装leap motion的驱动程序,在unity中,你只需要将LMHeadMounte...原创 2018-05-22 08:59:54 · 925 阅读 · 0 评论 -
unity3D之刚体、碰撞体分析
做一个小demo的时候遇到这个问题,查了许多资料终于搞明白了,特此记录一下: 刚体是发生碰撞时不发生形变的物体,当然这是一种理想状态。 先看刚体,在physics里,rigidbody,翻译还是很直白的 参数说明: Mass: 质量,单位kg Drag: 空气阻力 Angular Drag:转动阻力 ...原创 2018-03-30 14:41:46 · 2291 阅读 · 0 评论 -
unity官方资源包CarAIControl理解
接上一篇,这篇讲AI控制。using System;using UnityEngine;using UnityEngine.AI;using Random = UnityEngine.Random;namespace UnityStandardAssets.Vehicles.Car{ //添加关联脚本 [RequireComponent(typeof (CarC...原创 2018-04-16 18:34:16 · 1574 阅读 · 0 评论 -
unity官方资源包CarController理解
最近要写汽车的控制,发现比人物控制难很多,涉及到汽车的很多知识,自己写了一点不忍直视,各种bug,然后被告知untiy官方资源包里有控制脚本,就去学习了一下,然后借鉴了网上的一些教程,在这里表示衷心感谢,为了方面自己和他人,免得自己弄丢,然后贴在这里:using System;using UnityEngine;namespace UnityStandardAssets.Vehicl...原创 2018-04-14 13:17:33 · 4811 阅读 · 2 评论 -
unity寻路
最近被寻路给搞蒙了,由于我想做汽车的寻路,而且汽车速度什么的都定义好了,而unity自带的组件nav mesh agent自带了一些速度之类的值,搞得我很不开心,虽然值可以设为0,但后来还是发现有很多问题。不过,这个自带的功能还是很不错,可能不适合汽车,只对人比较友好,本着学习的态度我认真研究了一下。 我们都知道,unity常见的寻路算法有:Astar寻路,自带寻路navmesh,点...原创 2018-04-20 18:53:28 · 760 阅读 · 0 评论 -
unity控制台上的信息打印到屏幕上
接上一个汽车控制,现在我需要实现的是在汽车跑的时候实时打印它的速度在屏幕上,我们都知道如果直接Debug.Log()的话,它打印在控制台上,我们只需要制作一个GUI窗口,打印log就可以了,这个功能是一位大佬转一个外国蜀黍的,我拿来改了一下,灰常对不起,我找了半天找不到原博地址了,我说一下修改的内容吧,由于原程序虽然可以打印log,但是不能和控制台一样往下实时刷新,就是它的界面始终在第...原创 2018-04-20 19:28:02 · 5558 阅读 · 4 评论 -
unity3d学习大纲
学习了一个多月的unity,从刚开始的无从下手,到现在也是有所心得,然后写个思维导图总结所学,与君共勉。 当然还有很多细节还没弄清楚,很多函数还记不住,渲染也一窍不通,不过不着急,慢慢来~~~...原创 2018-05-03 15:48:25 · 780 阅读 · 0 评论 -
unity-小车寻路(二)
前段时间使用官方的例子来实现小车寻路,虽然具体功能实现了,但是有一些问题,比如小车在点与点的转换时转向十分突兀,而且需要很多点才能实现一个转弯,而且很容易与其他物体发生碰撞。且无法实现动态避障。 在这些问题的基础上,我不得不重新思考寻路问题,后来还是使用unity自带模块navigation寻路模块以及射线映射基本上解决了所有问题,具体思路是: 首先,选择路径进行烘培,烘焙的路...原创 2018-05-18 18:29:47 · 3381 阅读 · 1 评论 -
unity-开发进阶之网络通讯UNET
unity在5.1版本之后更新了全新的多人在线网络工具,叫Unity Networking,简称UNET,此项技术开发者可以从传输层传输数据。通常,unity把开发者分为两种,一种是不是很懂网络知识的,只需要最小的代价完成多人联网功能,这类用户应该去使用NetworkManager或High Level API (HLAPI),第二类用户需要建设大型网络游戏,,需要强大且灵活的网络工具,这...原创 2018-05-19 21:53:13 · 984 阅读 · 0 评论 -
unity-VR开发初体验
一般unity游戏与VR有什么区别,可能区别就在于VR有一个特殊的摄像机,Steam平台将硬件设备与unity里的相机组合到一起,我们很轻易的可以实现一个普通unity游戏到VR游戏的转变。 在unity资源商店可以寻找到免费的SteamVR开发包,是免费的。导入unity中,不过unity为了降低跨现实开发的门槛。集成了所谓 “XR 框架“,是指 Cross Reality Fou...原创 2018-05-21 13:57:54 · 1135 阅读 · 0 评论 -
unity-UDP服务器数据传输
这里有一个需求就是,在服务端发送数据到客户端,客户端来接受数据,客户端是在unity中,比如客户端可以是人,小车等,我可以通过服务端的数据来控制人或者车的行为 。首先,我们需要建立一个udp服务器,udp是面向无连接的不可靠传输协议,传输速度快且可传输数据量很大。由于要与unity数据传输,我们使用C#来建立服务端和客户端。我们首先需要设置IP和端口号,然后创建两个线程,一个是发送...原创 2018-06-29 19:43:03 · 3378 阅读 · 4 评论