草庐IT

ROS-Unity

全部标签

ROS仿真R2机器人之安装运行及MoveIt的介绍

        R2(Robonaut2)是NASA美国宇航局与GM通用联合推出的宇航人形机器人,能在国际空间站使用,可想而知其价格是非常昂贵,几百万美刀吧,还好NASA发布了一个R2机器人的Gazebo模型,使用模型就不需要花钱了,由于我们的机器人软件通常是不依赖于具体机器人的,所以在R2学到的东西也可以应用到其他的机器人身上,所以我们在仿真平台上来操作它。1、安装R2机器人1.1、OS版本使用的是虚拟机上的一个Ubuntu18的版本系统来安装,我们先来查看下版本:cat/etc/os-release NAME="Ubuntu"VERSION="18.04.6LTS(BionicBeaver

Unity Editor 遍历指定文件夹下的所有prefab

适用场景:         查找指定文件夹下所有的prefab并找到所有引用的图片及路径。步骤分析:        1、通过guid获取资源路径        2、获取文件夹中包含后缀为.prefab的路径        3、编辑器下加载该资源(如果对资源有编辑的话需要在资源加载前加上开始资源编辑AssetDatabase.StartAssetEditing() 和操作结束后加上结束资源编辑AssetDatabase.StopAssetEditing())        4、遍历prefab找到身上带有Image组件的物体,获取iamge.sprite的路径及图片大小信息        5、将

Unity 网格布局控件-Grid Layout Group

Unity网格布局控件-GridLayoutGroup是Unity中的UGUI控件,用于在UI中创建网格布局,它的作用是:自动将子对象排列成网格,即我们可以通过该组件对子对象按行和列的形式排列,根据指定的约束条件自动调整它们的大小和位置。通常我们使用它创建具有规律排列的UI元素,如按钮、图标、面板等。相比于HorizontalLayoutGroup和VerticalLayoutGroup布局组件,它不再局限于按行或按列进行布局。它可以行列结合,灵活性更强。添加方法:在Unity的场景中创建一个空的GameObject,作为容纳子对象的父对象。将需要排列的UI元素作为子对象添加到父对象中。选中父

ffmpeg 硬件解码零拷贝unity 播放

ffmpeg硬件解码问题ffmpeg在硬件解码,一般来说,我们解码使用cuda方式,当然,最好的方式是不要确定一定是cuda,客户的显卡不一定有cuda,windows下,和linux下要做一些适配工作,最麻烦的不是这个,二是ffmpeg解码后,颜色空间的转换,如果使用cuda,那么可以使用cuda去在gpu中直接转码,如果没有cuda,那么我们希望的是不要转颜色空间。ffmpeg硬件解码相信下面这一段代码是大家比较熟悉的if(frame->format==hw_pix_fmt){ /*retrievedatafromGPUtoCPU*/ sw_frame->format=sourcepf;/

Unity Shader入门精要 第六章——Unity中的基础光照

目录一、标准光照模型(Phong光照模型)1、环境光 2、自发光3、漫反射4、高光反射(1)Phong模型(2)Blinn模型5、光照模型实现方法——逐顶点和逐像素二、UnityShader漫反射光照模型的实现1、实践:逐顶点2、实践:逐像素3、半兰伯特模型4、漫反射光照模型效果展示三、UnityShader高光反射光照模型的实现1、实践:逐顶点2、实践:逐像素3、Blinn-Phong光照模型4、高光反射光照模型效果展示四、Unity的内置函数一、标准光照模型(Phong光照模型)1、环境光    在标准光照模型中,使用环境光来近似模拟间接光照。间接光照就是指,光线通常会在多个物体之间反射,

【Unity自动寻路】使用Navigation系统实现物体自动寻路绕开障碍物

知识点流程图自动导航Navigation系统我们在游戏场景中经常会有一些障碍物、墙壁、树木等等,如果我想要让角色或者怪物去墙的另一边,我直接在墙另一边点击左键,我希望角色自动跑过去,但是他不能直接穿透墙,他需要“智能”的绕开障碍物,自动找到可以走的路,自己过去!这就是Unity的 Navigation导航系统帮助我们做的事情!请看大屏幕!Unity中的Navigation就像是一个智能的GPS系统,它可以告诉游戏角色如何最好地到达目的地。它会考虑所有的障碍物,并找出一条最佳路径。这就像你在现实生活中使用地图或导航应用从一个地方到另一个地方一样。如果没有Navigation,游戏角色可能会直接走

自定义Unity组件——AudioManager(音频管理器)

需求描述    在游戏开发中,音频资源是不可或缺的,通常情况下音频资源随机分布,各个音频的操作和管理都是各自负责,同时对于音频的很多操作逻辑都是大同小异的,这就造成了许多冗余代码的堆叠,除此之外在获取各类音频资源的时候也会造成不必要的开销。所以解决资源分散的问题最直接的方式就是集中管理和分配,通过统一的渠道和特有标识即可获取或操作对应的音频资源。所以本篇文章将围绕这个方案进行尝试。功能描述    在Unity中我们导入的音频资源都会转换为AudioClip,音频的设置和管理则由AudioSource负责,AudioListener负责监听音频。我们可以在此基础上去封装,从而打造一个音频管理器。

【Unity】xLua及热更新

1前言        本文主要讲xLua的基本使用。看完有个基本认识还是可以了,简单的热更操作还是可以做到的,但更多细节内容依旧需要从官方文档中了解、学习。2xLua2.1什么是xLua        xLua是由腾讯维护的一个开源项目,我们也可以将其看做一个插件。xLua为Unity、.Net、Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。通常作为Unity的一种热更新解决方案。2.2xLua安装        需要先在github上下载,地址:https://github.com/Tencent/xLua。进入网址后,按如下操作下载(别问

用 Unity 实现的3D横板格斗游戏(BeatEmUp)源码+可执行文件

项目详情介绍用Unity实现的3D横板格斗游戏软件版本Unity2019.4.28f1c1(64-bit)VisualStudio2019游戏角色提供了两个游戏角色供玩家进行选择两个角色在攻击、速度以及弹跳属性数值上存在差异游戏控制🠜🠉🠞🠟键:控制角色各方向移动Space键:控制角色跳跃动作Z键:控制角色手部攻击动作X键:控制角色腿部攻击动作C键:控制角色格挡/防御动作双击:快速移动/重击等连招动作游戏操作通过键盘控制操作角色使用各种攻击动作击败场景中的敌人通过拾取场景中掉落的武器可以远距离攻击场景中敌人通过拾取场景中刷新的恢复道具可以恢复自身生命值玩家操控的角色自身与场景中的敌人都有各自的生

[Unity数据管理]自定义菜单创建Unity内部数据表(ScriptableObject)

Unity在开发的时候如果数据量比较大,或者一部分数据需要存在云端,那么就需要一些数据库轻量型到大型的包括:数组-内存存储读取列表-内存存储读取  ListtList=newList();XML-硬盘存储读取JSON-硬盘存储读取Sqlite-轻量数据库(意思就是免安装)-云服务器、硬盘存储读取SQLite入门教程-菜鸟教程Mysql-关系型数据库(需安装本地或云服务器)-云服务器、硬盘存储读取Redis-非关系型数据库-轻量级免安装-云服务器、硬盘存储读取Oracle-系型数据库(需安装本地或云服务器)-云服务器、硬盘存储读取...... usingSystem.Collections;us