unity3d

ROS2机器人笔记20-11-29

耗尽温柔 提交于 2020-12-01 13:20:01
turtlebot的文档是目前ROS1和ROS2机器人中做得最好最完善的并且还有免费的多语书。 ROS机器人编程新书推荐(附免费下载) 现在文档已经是这样了: 首先支持版本多,覆盖linux和windows,版本涵盖ros1和ros2,均为长期支持版,其实melodic也是完美支持的,这里发现标签中并没有。 以windows为例:在此更新的手册中,说明比以前的手册容易得多,并且操作起来也更简单。 新功能之一是通过在页面顶部选择特定的ROS版本来支持ROS1和ROS2的各种版本(其他版本或平台将很快添加)。 可以看到物联网版本的win10操作系统的雏形!!! 当然中文支持也挺好的(机器翻译!) 以前的手册中涉及的文本阅读过多,但是在此版本中,所有内容都变得紧凑,只公开了必要的信息。 如果想了解有关特定信息的更多内容,只需单击主题即可展开或缩小。 这里关于ROS有个话题如下,有兴趣可以参考: ROS1已经非常成熟,并将在2025年完成使命,ROS2将在2022年推出第一个5年版本的LTS长期支持版,现在的长期支持版都是3年(Dashing和Foxy),功能还在测试和快速迭代中! ROS机器人操作系统研发成熟的标志是什么呢?( www.zhihu.com/question/390894125 ) 目前,博客教程主要围绕ROS2 Foxy版本开发,其他版本全部停止维护

Smooth dynamically generated mesh in Unity?

自作多情 提交于 2020-12-01 07:11:37
问题 Given a mesh in Unity & C# (that itself was created in realtime by merging simpler base meshes), how could we during runtime* turn it into a smooth, almost like wrapped-in-cloth mesh version of itself? Not quite a fully convex version, but more rounded, softening sharp edges, bridging deep gaps and so on. The surface would also ideally look like when the "smoothing angle" normals setting is applied to imported objects. Thanks! Before & after sketch *The mesh setup is made by people and its

数据不够,游戏来凑!随机三维人物实现可泛化的行人再辨识(ReID)

自闭症网瘾萝莉.ら 提交于 2020-12-01 01:57:47
点击上方 “ 小白学视觉 ”,选择加" 星标 "或“ 置顶 ” 重磅干货,第一时间送达 转载:52cv 【 导语】数 据不够,游戏来凑! 阿联酋起源人工智能研究院(IIAI)科学家通过随机组合颜色和纹理产生了8000个三维人物模型,并在游戏环境里模拟真实监控得到一个虚拟行人数据集,最终通过跨库泛化性测试一举超越了CUHK03,Market-1501,DukeMTMC-reID和几乎MSMT17在内的四大主流行人再辨识数据集。 相关论文( Surpassing Real-World Source Training Data: Random 3D Characters for Generalizable Person Re-Identification )已被ACMMM 2020接收,数据已开源。 图1. RandPerson虚拟数据库示例图 简介 行人再辨识是近年来的热门研究领域,随着深度学习的发展取得了很大的进步。但是已有模型在不同场景下的泛化能力依然较差。一个可能的原因是,由于标注困难和隐私敏感,目前仍然缺乏大规模和多样性的训练数据。 有鉴于此,本文提出一种随机自动产生大量三维人物模型的方法,并在游戏环境里模拟真实监控进行渲染,由此得到一个大规模的虚拟行人数据集,并最终实现可泛化的行人再辨识。 具体地,本文提出一种通过随机组合颜色和纹理产生大量UV纹理图的方法

(Unity) How to test Firebase multiplayer build and editor at the same time? [closed]

巧了我就是萌 提交于 2020-11-29 21:09:39
问题 Closed. This question needs debugging details. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 8 days ago . Improve this question I'm getting really frustrated with @Frank-van-Puffelen who closed my questions just because they don't contain minimum reproducible code. This is a valid question and there are useful answers out there. I made a duplicate question because I felt my first (this one) was closed

(Unity) How to test Firebase multiplayer build and editor at the same time? [closed]

夙愿已清 提交于 2020-11-29 21:07:39
问题 Closed. This question needs debugging details. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 8 days ago . Improve this question I'm getting really frustrated with @Frank-van-Puffelen who closed my questions just because they don't contain minimum reproducible code. This is a valid question and there are useful answers out there. I made a duplicate question because I felt my first (this one) was closed

Quaternion * Vector3 * Distance

ε祈祈猫儿з 提交于 2020-11-29 09:58:12
问题 Could someone please help me understand the result of the following multiplications? In the Unity VR samples project, the following two lines are used: Quaternion headRotation = InputTracking.GetLocalRotation(VRNode.Head); TargetMarker.position = Camera.position + (headRotation * Vector3.forward) * DistanceFromCamera; I can understand the first line - how the user's head rotation is calculated and stored in headRotation which is a Quaternion . I can also understand that the TargetMarker 's

How to solve double jumping

匆匆过客 提交于 2020-11-29 08:32:29
问题 I've followed the Unity tutorial for "Roll-A-Ball", and have added some extensions. The ball can now jump, but it jumps too many times each jump; I just want the ball once at a time when I press on SPACE. Now I can press on SPACE 3 times an it'll jump higher and higher. if (Input.GetKeyDown(KeyCode.Space)) { Vector3 jump = new Vector3(0.0f, 150.0f, 0.0f); rb.AddForce(jump); } EDIT: Have tried changing the code a little bit, but now I can ONLY jump once (the first time) private void textBox

How to solve double jumping

家住魔仙堡 提交于 2020-11-29 08:32:05
问题 I've followed the Unity tutorial for "Roll-A-Ball", and have added some extensions. The ball can now jump, but it jumps too many times each jump; I just want the ball once at a time when I press on SPACE. Now I can press on SPACE 3 times an it'll jump higher and higher. if (Input.GetKeyDown(KeyCode.Space)) { Vector3 jump = new Vector3(0.0f, 150.0f, 0.0f); rb.AddForce(jump); } EDIT: Have tried changing the code a little bit, but now I can ONLY jump once (the first time) private void textBox

粒子系统优化:Mesh模式下的优化策略

给你一囗甜甜゛ 提交于 2020-11-27 09:47:51
在上一期 《动画优化:关于AnimationClip的三两事》 中,我们针对动画优化中的“AnimationClip的压缩方式”以及“AnimatorController挂载的AnimationState”做了解释。这些看似细小的知识点,很容易在大家的开发和学习过程中被疏忽,而长期的问题积累最终都会反映到项目的性能表现上。为此,我们将这些规则列出,并且以一个个知识点的形式向大家逐一解读。 本期,我们将面向粒子系统,讲解 UWA本地资源检测 中的规则: “网格发射数超过5的粒子系统”、“检测粒子系统使用的网格Read/Write选项”、“引用网格面片数超过500的粒子系统”和“引用纹理数超过5的粒子系统”。 我们将力图以浅显易懂的表达,让职场萌新或优化萌新深入理解。 1、网格发射数超过5的粒子系统 关于粒子系统的定义,我们在此不再赘述。我们重点来看一下粒子系统的渲染模式。 粒子的渲染模式可分为两大类:2D的Billboard(公告牌)图形模式和Mesh模式。Billboard是3D游戏中用的非常多的一种技术,使用该模式,粒子会以一个平面的形式存在,并始终以一定的角度对着我们的镜头。举个例子来讲,场景中有一棵树,是实体存在的;但在各种Billboard模式下,你只需要看到这棵树的一个“面”。在展示效果上表现其实一样,但渲染一个“面”和渲染一整个实体,前者在消耗的内存和运算量上会更有优势

Unity 中实现粒子系统的 LOD

南笙酒味 提交于 2020-11-27 04:54:12
模型的 LOD 比较简单,直接使用 Unity 提供的组件 LODGroup 挂到模型物体上,然后分别指定不同 LOD 级别的 Renderer 即可。 LODGroup 并不是用距离来控制 LOD,而是用物体在屏幕上的显示范围的高度与屏幕高度的比值来决定物体使用哪一级 LOD。这相当于用物体在屏幕上的面积大小来决定 LOD,避免了不同大小的物体在相同距离上使用相同的 LOD 这一不合理的情况。 如果要提供允许玩家指定物体精细度显示范围的设置,则需要动态修改这个比值。 Unity 没有对粒子系统提供 LOD 功能。如果要对粒子系统做 LOD,我认为可以通过控制粒子的最大数量来实现 LOD,并且参照距离来决定使用哪一级 LOD(因为要计算粒子系统的包围盒,并不是一件容易的事,需要算上所有存活粒子的位置,反而增加运算量)。 粒子特效质量,可以简单的分 3 个质量级别:低中高,以供玩家在设置中选择。每个质量级别在各自定义的一段距离内使用各自定义的一个缩放系数,超出此距离的则线性衰减此系数。使用此系数缩小粒子的最大数量。 1 // 3 个质量级别下各自最高 LOD 级别的距离百分比(粒子能以此 LOD 级别显示的距离百分比) 2 3 float [] HIGH_LEVEL_DISTANCE_PERCENTS = { xxx, xxx, xxx } 1 // 3 个质量级别下各自最高 LOD