IsaacSim Unity3D - 使用IsaacSim创建Unity项目

使用IsaacSim创建Unity项目

本节介绍如何使用IsaacSim创建自己的Unity项目。假定您具有Unity编辑器的基本知识。如果您不熟悉Unity,请先阅读Unity学习资源和教程

创建一个新项目

IsaacSim Unity3D具有自定义项目设置和程序包依赖性。创建具有艾萨克一个新项目最简单的方法是将复制AssetsPackagesProjectSettings文件夹从样本项目:

bob@desktop:~/isaac_sim_unity3d$ mkdir projects/test
bob@desktop:~/isaac_sim_unity3d$ cp -r projects/sample/Assets projects/sample/Packages projects/sample/ProjectSettings projects/test/

接下来,打开新项目:

bob@desktop:~/isaac_sim_unity3d$ ~/Unity/Hub/Editor/2018.3.11f1/Editor/Unity -projectPath projects/test -logfile

注意

2018.3.11f1如果您安装了其他版本的Unity,则上述命令中的目录可能会有所不同。

等待项目加载(大约需要10分钟)。完成后,您应该在编辑器中看到一个空的场景:

Unity中的新项目

创建一个新场景

首先,您需要创建一个新场景:

  1. 用鼠标右键单击项目选项卡。
  2. 选择“ 创建”>“场景”
  3. 将场景重命名为“测试”。
  4. 打开场景。
新场景
  1. 创建一个空的GameObject并将其命名为“ world”。
  2. 添加一个平面作为地面,并添加几个立方体作为墙。
  3. 将“ Map Camera”预制件添加到场景中。
  4. 将地图另存为“ /tmp/test.png”。
  5. 卸下“地图相机”。
添加了地图的新场景

添加随机障碍

接下来,您可以向场景添加随机障碍:

  1. 创建一个新的空GameObject并将其命名为“随机场景”。
  2. 使用检查器中的“ 添加组件 ”来添加“随机性”和“随机化器组”脚本。
  3. 将“ Randomness”组件拖到“ Randomizer Group”脚本的“ Randomness”字段中。
带有随机障碍的统一场景
  1. 添加一个名为“ random box”的空子GameObject。
  2. 添加一个对撞机并将其放置在右上角的空白处。
  3. 使用“ 添加组件”按钮添加“对撞机资产扳手”脚本和“变换随机化器”脚本。
  4. 修改以下设置:
  1. 转到项目> NVIDIA IsaacSim for Unity3D(示例)>仓库>道具>组
  2. 将“ CardboardBoxProps”拖到“ Collider Asset Spawner”的“ Asset Group”中。
  3. 将“变换随机化器”组件拖到“对撞机资产生成器”的“变换随机化器”字段中。
  4. 将“对撞机资产扳手”的“最大计数”更改为6,将“变换随机化器”的“旋转-均匀范围-Y”更改为180。
  1. 转到“随机场景” GameObject,然后按“ 随机化”按钮。您应该看到从“ CardboardBoxProps”组中抽出的6个纸箱,它们是在箱子中随机产生的。
  2. 再次按随机化以重新生成框。
带有场景的Unity场景
  1. 复制“随机框” GameObject。
  2. 将游戏对象重命名为“随机垃圾桶”。
  3. 将BoxCollider移动到左下角的空白处。
  4. 将“对撞机资产扳手”的“资产组”更改为“无”。
  5. 转到。Project > NVIDIA IsaacSim for Unity3D (Samples) > Warehouse > Props
  6. 将“ TrashCan01”拖到“ Collider Asset Spawner”的“ Prefab”中。
  7. 转到“随机场景” GameObject,然后按“ 随机化”按钮>您应该看到随机放置了6个垃圾桶。
带有随机垃圾桶的统一场景

您也可以在场景中放置自己的模型。确保模型附有对撞机并且最小高度为0.7m,以便卡特上的模拟激光雷达可以看到它们。

如下所示更改主相机的位置和旋转角度,以鸟瞰场景。如果按立即播放,您应该在游戏视图中看到一个静态场景。按停止

游戏视图中的静态Unity场景

添加Carter和Isaac应用程序

现在您可以将机器人添加到场景中了:

  1. 转到。Project > NVIDIA IsaacSim for Unity3D (Samples) > Robots
  2. 将“ Carter_Wheeled”预制件拖到场景中。现在,您应该在场景中心看到Carter。
卡特的统一场景
  1. 转到“ 控制台”选项卡,然后启用“错误暂停”。

注意

如果按立即播放,您将看到游戏立即暂停,并显示错误消息“唤醒前访问IsaacNative单身人士”,因为您尚未添加用于加载Isaac SDK C API并运行NavSim应用程序的“ isaac.alice”预制件。

  1. 停止游戏,然后转到。Project > NVIDIA IsaacSim for Unity3D (Core) > Prefabs
  2. 将“ isaac.alice”预制件添加到场景中。
  3. 在现场添加“ isaac.minisight”预制件,以可视化全球和本地计划。

现在,当您按Play时,模拟应该开始而没有错误。

卡特玩的统一场景

打开一个终端,转到Isaac SDK文件夹,然后使用我们之前为该场景保存的地图运行导航应用程序:

bob@desktop:~/isaac$ bazel run apps/navsim:navsim_navigate -- --more /tmp/test.json,packages/navsim/robots/carter.json

在Chrome浏览器中打开Isaac Sight,网址为http://localhost:3000/

以撒的视线显示自定义Unity场景

您应该看到Carter正确定位并接收Lidar和RGBD摄像机数据。但是,由于目标行为设置为“姿势”,但是没有从Simulation中发布目标姿势,因此它保持静止。

在Sight中,转到,将“ desired_behavior”从“ pose”更改为“ random”,然后按Submit。您应该看到目标姿势以红色显示在“地图视图”中,卡特沿计划路径移动。Application Configuration > goals.goal_behavior

在以撒的视线中设定卡特姿势
卡特路径的统一场景

故障排除

我在Sample包中双击Unity场景以打开该场景,然后弹出此消息:

Unity“即将打开另一个项目!” 信息

选择取消。而是将场景图标拖到层次结构中并删除上一个场景。

我按Play键,Unity编辑器崩溃

在“ Unity编辑器控制台”选项卡中,单击 “播放”之前检查是否有任何错误。启用错误暂停,如果Unity捕获任何错误,这将暂停游戏。最后,如果您使用-logFile标志启动Unity Editor,则Unity将日志输出到终端。检查终端日志中是否有任何错误:一个常见的原因是Unity中运行的Isaac SDK应用程序由于缺少配置文件而崩溃。

我按Play并收到很多类似于“无法调用IsaacIsaacCreateApp”的错误

Unity无法加载isaac sdk c api lib。您需要//packages/navsim/apps:navsim-pkg 从Isaac SDK 部署到中。例如,您将使用此命令部署到示例项目:[your project]/Assets/StreamingAssets

bob@desktop:~/isaac$ ./engine/build/deploy.sh -p //packages/navsim/apps:navsim-pkg -d x86_64 -h localhost --deploy_path ~/isaac_sim_unity3d/projects/sample/Assets/StreamingAssets

我在Unity中添加了一个IsaacComponent,但是我没有从模拟器接收数据

检查Unity中IsaacComponent中的Isaac频道名称是否与接收方Isaac应用程序上的频道名称匹配。另外,有时特殊字符/x13会被Unity编辑器插入通道名称字符串中。/x13*.unity场景文件或*.prefab文本编辑器/ IDE中的文件中搜索并删除的任何实例。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容