Advertisement

AirSim 自动驾驶仿真 (6) - 设置

阅读量:

AirSim 自动驾驶仿真 (6) - 设置

接下来将详细介绍 AirSim 的配置参数设置,并对官方文档进行了系统性翻译。


文章目录

  • AirSim 自动驾驶仿真 (6) - 设置

      • @[toc]
    • Where are Settings Stored
    • How to Distinguish Between Vehicle Types
    • Available Settings and Their Defaults
    • SimMode
    • ViewMode
    • TimeOfDay
    • OriginGeopoint
    • SubWindows
    • Recording
    • ClockSpeed
    • Segmentation Settings
    • Camera Settings
      • Note on ImageType element:

        • CaptureSettings and NoiseSettings are grouped under Random noise capture for enhanced data quality.
      • Horizontal bump distortion, Horizontal noise lines, and Horizontal line distortion are key artifacts to watch for in image processing.

        • 云台 Gimbal
  • 车辆配置(Vehicles Configuration)

    • 通用车辆配置(Common Vehicle Configuration)
    • 使用PX4(Using PX4)
      • 额外PX4参数(Additional PX4 Parameters)
  • 其他设置 Other Settings

    • 引擎声音 EngineSound
  • PathOptions
  • 物理引擎参数设置 PhysicsEngineParameter
  • 本地主机 IP 配置 LocalHostIP Configuration
  • 速度单位系数 SpeedUnitCoefficient
  • 速度单位指标 SpeedUnitIndicator

设置保存在哪儿? Where are Settings Stored

Windows: Documents\AirSim
Linux: ~/Documents/AirSim

文件的格式通常采用JSON格式进行定义。当首次运行AirSim时,默认会创建一个名为settings.json的目录结构,并不包含任何配置信息。为了防止可能出现的相关问题,默认建议采用ASCII编码来存储JSON数据。

如何选择汽车还是飞行器? How to Chose Between Car and Multirotor

默认设置是飞行器. 要使用汽车, 则设置 "SimMode": "Car" :

复制代码
    {
      "SettingsVersion": 1.2,
      "SimMode": "Car"
    }

当用户选择汽车时,则配置"SimMode"为"Multirotor"。若需让用户自行选择载具类型,则配置"SimMode"为空值。

可用设置及默认值 Available Settings and Their Defaults

以下列举了可配置的所有参数及其对应默认值:如果在JSON文件中未定义相关参数,则默认使用预设值;其中一些默认设置直接标记为""符号,并要求根据具体应用的载具类型来确定实际参数数值。例如,默认情况下ViewMode设为空字符串;而对于飞行器类设备,则采用'FlyWithMe'模式;而用于汽车的则使用'SpringArmChase'模式。

警告: 避免将下方复制粘贴的内容添加到个人设置文件settings.json中。 特别提醒您仅需配置那些不希望作为默认值的参数设置。 唯一必须配置的字段是'SettingsVersion'字段。

复制代码
    {
      "SimMode": "",
      "ClockType": "",
      "ClockSpeed": 1,
      "LocalHostIp": "127.0.0.1",
      "RecordUIVisible": true,
      "LogMessagesVisible": true,
      "ViewMode": "",
      "RpcEnabled": true,
      "EngineSound": true,
      "PhysicsEngineName": "",
      "SpeedUnitFactor": 1.0,
      "SpeedUnitLabel": "m/s",
      "Recording": {
    "RecordOnMove": false,
    "RecordInterval": 0.05,
    "Cameras": [
        { "CameraName": "0", "ImageType": 0, "PixelsAsFloat": false, "Compress": true }
    ]
      },
      "CameraDefaults": {
    "CaptureSettings": [
      {
        "ImageType": 0,
        "Width": 256,
        "Height": 144,
        "FOV_Degrees": 90,
        "AutoExposureSpeed": 100,
        "AutoExposureBias": 0,
        "AutoExposureMaxBrightness": 0.64,
        "AutoExposureMinBrightness": 0.03,
        "MotionBlurAmount": 0,
        "TargetGamma": 1.0,
        "ProjectionMode": "",
        "OrthoWidth": 5.12
      }
    ],
    "NoiseSettings": [
      {
        "Enabled": false,
        "ImageType": 0,
    
        "RandContrib": 0.2,
        "RandSpeed": 100000.0,
        "RandSize": 500.0,
        "RandDensity": 2,
    
        "HorzWaveContrib":0.03,
        "HorzWaveStrength": 0.08,
        "HorzWaveVertSize": 1.0,
        "HorzWaveScreenSize": 1.0,
    
        "HorzNoiseLinesContrib": 1.0,
        "HorzNoiseLinesDensityY": 0.01,
        "HorzNoiseLinesDensityXY": 0.5,
    
        "HorzDistortionContrib": 1.0,
        "HorzDistortionStrength": 0.002
      }
    ],
    "Gimbal": {
      "Stabilization": 0,
      "Pitch": NaN, "Roll": NaN, "Yaw": NaN
    }
    "X": NaN, "Y": NaN, "Z": NaN,
    "Pitch": NaN, "Roll": NaN, "Yaw": NaN
      },
      "OriginGeopoint": {
    "Latitude": 47.641468,
    "Longitude": -122.140165,
    "Altitude": 122
      },
      "TimeOfDay": {
    "Enabled": false,
    "StartDateTime": "",
    "CelestialClockSpeed": 1,
    "StartDateTimeDst": false,
    "UpdateIntervalSecs": 60
      },
      "SubWindows": [
    {"WindowID": 0, "CameraName": "0", "ImageType": 3, "Visible": false},
    {"WindowID": 1, "CameraName": "0", "ImageType": 5, "Visible": false},
    {"WindowID": 2, "CameraName": "0", "ImageType": 0, "Visible": false}
      ],
      "SegmentationSettings": {
    "InitMethod": "",
    "MeshNamingMethod": "",
    "OverrideExisting": false
      },
      "PawnPaths": {
    "BareboneCar": {"PawnBP": "Class'/AirSim/VehicleAdv/Vehicle/VehicleAdvPawn.VehicleAdvPawn_C'"},
    "DefaultCar": {"PawnBP": "Class'/AirSim/VehicleAdv/SUV/SuvCarPawn.SuvCarPawn_C'"},
    "DefaultQuadrotor": {"PawnBP": "Class'/AirSim/Blueprints/BP_FlyingPawn.BP_FlyingPawn_C'"},
    "DefaultComputerVision": {"PawnBP": "Class'/AirSim/Blueprints/BP_ComputerVisionPawn.BP_ComputerVisionPawn_C'"}
      },
      "Vehicles": {
    "SimpleFlight": {
      "VehicleType": "SimpleFlight",
      "DefaultVehicleState": "Armed",
      "AutoCreate": true,
      "PawnPath": "",
      "EnableCollisionPassthrogh": false,
      "EnableCollisions": true,
      "AllowAPIAlways": true,
      "RC": {
        "RemoteControlID": 0,
        "AllowAPIWhenDisconnected": false
      },
      "Cameras": {
        //same elements as CameraDefaults above, key as name
      },
      "X": NaN, "Y": NaN, "Z": NaN,
      "Pitch": NaN, "Roll": NaN, "Yaw": NaN
    },
    "PhysXCar": {
      "VehicleType": "PhysXCar",
      "DefaultVehicleState": "",
      "AutoCreate": true,
      "PawnPath": "",
      "EnableCollisionPassthrogh": false,
      "EnableCollisions": true,
      "RC": {
        "RemoteControlID": -1
      },
      "Cameras": {
        "MyCamera1": {
          //same elements as elements inside CameraDefaults above
        },
        "MyCamera2": {
          //same elements as elements inside CameraDefaults above
        },
      },
      "X": NaN, "Y": NaN, "Z": NaN,
      "Pitch": NaN, "Roll": NaN, "Yaw": NaN
    }
      }
    }

仿真模式 SimMode

SimMode 决定了将使用哪种仿真模式. 目前支持一下参数值:

  • "": 提示用户选择载具类型, 飞行器或者汽车
  • "Multirotor": 使用飞行器仿真
  • "Car": 使用汽车仿真
  • "ComputerVision": 只用摄像头, 没有载具和物理 (PS : 应该泛指物理碰撞、接触之类的交互)

视角模式 ViewMode

由ViewMode参数决定哪一台相机会被设为默认模式,并指导该相机如何追踪移动的载具。:这指的是在用户的角度而非用于载具摄像头的角度。说明:对于无人机,默认采用的是"FlyWithMe"模式,在汽车设备上则是采用"SpringArmChase"模式。

  • FlyWithMe: 从 6 个自由度跟随
  • GroundObserver: 在 XY 平面内自由跟随.
  • Fpv: 载具前部摄像机视角 (PS: 第一人称, 汽车的话就是驾驶室人眼的位置)
  • Manual: 不会自动移动摄像机. 通过方向键和 ASWD 键来移动摄摄像机.
  • SpringArmChase: 通过以固定在载具上以弹簧杆 (不可见)相连的摄像机视角跟随 (所以看起来有点延迟) (PS : 相当于在载具上装了根延长杆 (类似手持的拍照杆), 延长杆有点弹性, 导致载具起步时, 视角有种被拽着一起动的感觉) .
  • NoDisplay: 这将冻结主屏幕的渲染, 但是对子窗口、录频及 APIs 的渲染依然激活. (PS : UE 里面子窗口好像也是黑的, 但是 APIs 可以调用出来图像). 在那些你只关心获取到的图像而不关心如何在主屏幕渲染的 “无用” 模式下, 这个模式能节省资源. 这也可以提高录像图像的 FPS.

时间 TimeOfDay

该配置用于调整环境中太阳的位置。该配置的默认状态为 Enabled 设置为 false,默认情况下太阳位置固定在场景左侧并始终保持不变。当将 Enabled 设置为 true 时,在 OriginGeopoint 节点中指定的经纬高数据决定了太阳位置的计算时间。该计算时间采用 %Y-%m-%d %H:%M:%S 格式字符串(如 "2018-02-12 15:20:00")进行表示;若此字符串为空,则采用当前日期和时间进行计算。若需调节天体时钟运行速度,在 [CelestialClockSpeed] 参数中设置相应值(例如:数值 100 表示天体时钟每秒比仿真快 100 秒)。该功能会根据 [UpdateIntervalSecs] 参数指定的时间间隔自动更新天体位置。某些情况下可能希望天体时钟运行得更快或更慢,则可以通过调节 [CelestialClockSpeed] 来实现所需的运行速度变化

PS: 怎么设置太阳都没有动, 改变时间倒是太阳的起始点位置变了.

参考 Time of Day API.

地理原点 OriginGeopoint

此将定位玩家起始位置于 Unreal 环境中的经度、纬度及高度坐标。通过该设定值可对载体起始位置进行精确转换。需要注意的是,在本系统中,默认所有的API获取的位置信息均基于NED(归心地球定向)坐标系统,并遵循国际标准单位制。因此,在此坐标系统下,默认情况下所有载具初始化位置默认为NED基准点(0, 0, 0)。具体而言,时间参数会基于初始地理坐标的设定进行计算。

子窗口 SubWindows

该设定通过按下数字键0来预览三个子窗口。其中WindowsID可取值范围为0至2。CameraName可选配任何一辆可使用的摄像头(如图1所示)。ImageType参数决定了系统将呈现何种类型的图像(见图2)。例如,在下述示例中分别展示了驾驶员视角、前视和后视场景中的深度信息以及分割图像。

复制代码
      "SubWindows": [
    {"WindowID": 0, "ImageType": 0, "CameraName": "3", "Visible": true},
    {"WindowID": 1, "ImageType": 3, "CameraName": "0", "Visible": true},
    {"WindowID": 2, "ImageType": 6, "CameraName": "4", "Visible": true}
      ]

记录 Recording

记录功能支持你设置特定的时间间隔来获取类似位置、方向和速度的数据。你可以通过按下红色Recorder按钮或R键来触发记录流程。这些数据会被存储在指定路径下,并且每个会话都会被存储在一个带有时间戳标记的文件夹里。这些数据会被分隔成Tab格式,并附有详细说明(例如,在特定时间戳下生成相应的文件结构)。

  • RecordInterval: 配置拍摄图片的最低频率, 每秒一定次数.
  • RecordOnMove: 配置在载具静止不动时避免进行数据采集.
  • Cameras: 指定用于拍摄的照片源. 默认情况下使用 camera 0 拍摄压缩格式(png)的画面图.
    • 这个参数采用数组格式配置.
    • 允许你配置多台摄像头并选择不同的成像格式.
    • 如果 pixels_as_float 设置为 true,则使用 pfm 文件格式存储,默认转储格式是 png.

时钟速度 ClockSpeed

此配置将让你能配置仿真时钟的时间参数设置。举例来说,在挂钟走完1秒时(即真实时间过去1秒),仿真时间已过去了5.0秒(意味着仿真运行速度加快了)。数值为0.1则表示仿真的速度比真实时间慢了十倍。当数值设为1时,则仿真的时间和真实时间一致。若设定的模拟时钟运行速度较快,则可能导致较高的模拟精度问题。这样可能会导致某些物体穿越模型边界的现象出现(因为碰撞事件未能被检测到)。建议在模拟时钟较慢的情况下(即数值小于1),通常能够提高模拟的质量和准确性。

分割设置 Segmentation Settings

InitMethod 负责如何在启动过程中初始化 object IDs 以便生成 segmentation. 参数 """CommonObjectsRandomIDs"(默认)指示在启动时给每个对象分配随机的 ID 标识符。生成的分割图中, 每个对象都被赋予随机的颜色代码以区分其类型。若选择 None 则不进行对象 ID 初始化, 这会导致分割视图呈现单一固定颜色, 影响识别效果。如果你打算通过 APIs 设置对象 ID 则此功能非常有用, 它还能有效减少大规模场景下的启动延迟问题, 如 CityEnviron 等复杂环境.

OverrideExisting 为false时,在初始化过程中不会更改已被分配且具有非零ID的对象

MeshNamingMethod 等于空字符串或等于 "OwnerName" 时,我们将使用网格拥有者的名称来生成随机哈希值作为 object IDs. 若 MeshNamingMethod 等于 "StaticMeshName" ,则我们将采用静态网格名来生成随机哈希值作为 object IDs. 记住这种方法无法区分相同静态网格中的单个实例, 但名称通常更直观.

相机设置 Camera Settings

The default camera settings are managed through the base CameraDefaults element. The default values can be overridden by individual camera configurations within the cameras array under the Vehicles element.

Note on ImageType element

JSON 数组中的 ImageType 字段决定了将被应用的图像类型。具体可选的值可在图像类型的描述中找到详细说明。另外, 我们还支持特殊的值 ImageType: -1 用于外部相机设置(即你在屏幕上看到的场景视角)。

例如,在CaptureSettings字段中定义一个json数组类型的字段名,并配置多种图像类型的相关设置。

捕捉设置 CaptureSettings

以下是改写后的文本

如需了解更多信息, 可以参考这篇详细的文档: this article

(PS: 这里不太懂, 没有图像相关的知识)

噪声设置 NoiseSettings

NoiseSettings 支持为特定图像类型配置噪声设置。该功能允许您模拟相机传感器产生的噪声、干扰以及其他可能导致视觉伪影的因素。默认情况下(即 Enabled: false),此功能不会启用。如果您选择将此功能启用(即 Enabled: true),则可针对不同类型的图像应用相应的噪声、干扰和伪影配置,并对每个类型进行进一步调整以达到理想效果。需要注意的是,在 Unreal 引擎中进行后期材质处理时会引入阴影渲染效果(参见 CameraSensorNoise)。

相机的噪声和干涉仿真的例子:

该外链图片在源站点可能因防盗链机制无法正常加载,请参考https://youtu.be/1BeCEZmQyp0查看相关内容

随机噪声 Random noise

这将通过下述参数来增加随机噪声斑点.

  • RandContrib: 这一参数决定了图像中 noise 像素与原始像素之间的混合比例,在 noise 比例上采用 0 到 1 的量化指标:当值为 0 时表示完全没有 noise;当值为 1 时仅含有 noise。
  • RandSpeed: 这一参数控制着 noise 的变化速度,在速度设置上采用从无变化到完全变化的程度:当数值为 1 时表示无变化;数值越大(例如 1E6)则表示更为剧烈的变化。
  • RandSize: 这一参数影响着 noise 的颗粒分布粗粒化程度:当数值为 1 时每个 pixel 都具有独立的 noise;而数值越大则意味着更多相邻 pixel 共享相同的 noise value。
  • RandDensity: 这一参数确定了 image 中被赋予 noise 的 pixel 数量:当设置为 1 时表示所有 pixels 都会带有 noise;而较高的设置则意味着仅有少部分 pixels 被赋予 noise 影响(指数)。
Horizontal bump distortion

这增加了水平凸起/闪烁/重影效果.

  • HorzWaveContrib: 它调节噪声像素与图像像素的比例,在数值为0时表示完全没有噪声加入;当数值为1时仅包含噪声像素。
  • HorzWaveStrength: 定义该影响的整体强度。通过增加或减少其值可以调节该影响的整体强度。
  • HorzWaveVertSize: 定义有多少垂直像素会受到影响的数量。其取值范围在0到1之间;当数值较小时主要影响边缘区域;当数值较大时则会影响整个图像。
  • HorzWaveScreenSize: 定义屏幕区域中受此影响的空间分布情况。参数取值范围在0到1之间;较小的参数主要影响边缘区域;较大的参数则会影响整个屏幕区域。
Horizontal noise lines

这在水平线上增加了噪声区域.

  • HorzNoiseLinesContrib: 该变量控制噪声与图像像素的比例。其中最小值为0(无噪声),最大值为1(纯噪声)。
  • HorzNoiseLinesDensityY: 该参数衡量水平线中被影响的像素数量。
  • HorzNoiseLinesDensityXY: 该参数统计屏幕上受影响的行数。
Horizontal line distortion

这增加了水平线上的波动.

  • HorzDistortionContrib: 定义了噪声像素与图像像素之间的混合比例。当值为0时,仅存在图像像素;当值为1时,则完全是噪声像素。
    • HorzDistortionStrength: 反映了失真程度的大小。

云台 Gimbal

Gimbal元素可实现相机俯仰角、翻转角及偏航角等运动的锁定。该参数仅在ImageType指定为-1时方能启用。其默认值设为0,则表示无云台控制;相机各轴运动将随之物体而变。值设为1则达到最大稳定状态;处于0至1之间的数值则作为对 G pitch、Roll 和 Yaw 元素所指固定角度(单位:度、世界坐标系)与载具方向的比例权重系数。若任意指定的角度缺失或设为NaN,则该角度将不具有稳定性(亦即会随物体运动)。

PS : 应该是云台

载具设置 Vehicles Settings

每种仿真模式都会遍历指定设置中的载具列表,并接着会创建所有满足"AutoCreate": true条件的载具。每个设定好的载具都带有对应名称作为其键值。如果未定义"Vehicles"元素,则这个列表会被填充为默认汽车和飞行器

通用载具设置 Common Vehicle Setting

  • VehicleType: 可以是 PhysXCar, SimpleFlight, PX4Multirotor 或者 ComputerVision. 这个没有默认值, 所以必须被指定.
  • PawnPath: 这个允许覆盖载具使用的 pawn blueprint. 举个例子, 你可以创建一个新的 pawn blueprint , 继承于 ACarPawn, 作为你自己项目中而不在 AirSim 代码中的仓储机器人, 然后在这里指定路径. 参见 PawnPaths.
  • DefaultVehicleState: 飞行器可用的值为 ArmedDisarmed.
  • AutoCreate: 如果为 true, 那么这个载具将被加载 (如果选中的 sim 模式支持.
  • RC: 这个子元素允许通过RemoteControlID指定载具使用哪个远程控制器. 值 -1 意味着使用键盘 (飞行器暂时不支持). 值 >= 0 指定被连接上的远程控制器其中的一个. 举个例子, 在 Window 中, 可用的 RCs 列表可以在 Game Controllers 面板中看到.
  • X, Y, Z, Yaw, Roll, Pitch: 这个元素允许你指定载具的初始位置和方向. 位置是在 SI 单位制 NED 坐标系中, 坐标系原点被设置在 Unreal 环境中的玩家出生点. 方向以角度指定.
  • IsFpvVehicle: 这个设置允许指定哪个载具的摄像头被跟随. 当 ViewMode 被设置为 Fpv 时, 这个视角将被显示. 默认情况下, AirSim 选择设置中的第一个载具作为 FPV 载具.
  • Cameras: 这个元素设定载具的相机设置. 这个元素中的关键是 available camera 的名称, 这个值和上述 CameraDefaults 的一致. 举个例子, 为了改变前面中间相机 FOV 为 120 度, 你可以用这个 Vehicles 设置:
复制代码
    "Vehicles": {
    "FishEyeDrone": {
      "VehicleType": "SimpleFlight",
      "Cameras": {
        "front-center": {
          "CaptureSettings": [
            {
              "ImageType": 0,
              "FOV_Degrees": 120
            }
          ]
        }
      }
    }
    }

Using PX4

Typically, we utilize the simple_flight framework, eliminating the need for separate HITL or SITL configurations. Additionally, our platform is designed to accommodate advanced users with the PX4 setup. When integrating PX4 with AirSim, refer to the subsequent configuration details under the Vehicles section.

复制代码
    "Vehicles": {
    "PX4": {
      "VehicleType": "PX4Multirotor",
    }
    }
Additional PX4 Settings

The default configurations for PX4 are set to enable hardware-in-loop implementation. PX4 provides a variety of additional configurable settings, including those detailed below, each with its specific default values.

复制代码
    "Vehicles": {
    "PX4": {
      "VehicleType": "PX4Multirotor",
    
      "ControlIp": "127.0.0.1",
      "ControlPort": 14580,
      "LogViewerHostIp": "127.0.0.1",
      "LogViewerPort": 14388,
      "OffboardCompID": 1,
      "OffboardSysID": 134,
      "QgcHostIp": "127.0.0.1",
      "QgcPort": 14550,
      "SerialBaudRate": 115200,
      "SerialPort": "*",
      "SimCompID": 42,
      "SimSysID": 142,
      "TcpPort": 4560,
      "UdpIp": "127.0.0.1",
      "UdpPort": 14560,
      "UseSerial": true,
      "UseTcp": false,
      "VehicleCompID": 1,
      "VehicleSysID": 135,
      "Model": "Generic",
      "LocalHostIp": "127.0.0.1"
    }
    }

These settings specify the MavLink SystemId and ComponentId for both Simulators and vehicles (SimSysID, SimCompID; VehicleSysID, VehicleCompID), along with an entity that facilitates remote control of a drone through another application referred to as the offboard node (OffboardSysID, OffboardCompID).

To enable communication between the simulator and your ground control application (e.g., QGroundControl), you can configure the UDP address for this feature when rerunning it on another device (QgcHostIp and QgcPort). By default, this feature uses the local host IP. Therefore, if QGroundControl runs on the same machine, it should function without issues.

It is possible to connect the simulator to the LogViewer app included in this repository by assigning the UDP address of the simulator to (LogViewerHostIp, LogViewerPort).

每当在模拟器中添加一只飞行无人机时,在您上方可以看到默认名称为“PX4”。当您新增一个BP_FlyingPawn资产时,在Unreal Editor中就可以更改这个名称。您可以查看这些属性将在“MavLink”类别下分组。该MAVLink节点对于这个棋子可以远程通过UDP实现通信,也可以通过本地串口进行连接。如果采用的是串口,则需将UseSerial设置为true;否则设置为false。对于串口连接而言,请确保设置适当的串口传输速率。默认设置115200波特数适用于通过USB连接到Pixhawk版本2设备。

During interaction with the PX4 drone via a serial port, both HIL** messages and vehicle control messages employ the same serial port.
PX4 mandates two distinct channels for communication over UDP or TCP. Unless UseTcp is enabled, UdpIp and UdpPort are utilized to transmit HIL** messages; otherwise, TcpPort is employed. The introduction of TCP support in PX4 occurred in version 1.9.2 alongside the lockstep feature due to its essential role in ensuring reliable message delivery for lockstep functionality. AirSim functions as a TCP server under these circumstances and awaits connection from the PX4 application. The second communication channel for controlling the drone is established using (ControlIp, ControlPort) and exclusively operates on UDP.

其他设置 Other Settings

引擎声音 EngineSound

通过配置setting中的"EngineSound": false参数来实现引擎声音的关闭功能。目前这种配置仅适用于汽车领域。

PawnPaths

This feature enables you to create a custom vehicle pawn blueprint, such as replacing the default car in AirSim with your own vehicle. Your vehicle blueprint should be located within the Content folder of your custom Unreal project (i.e., outside the AirSim plugin directory). For instance, if your Car Pawn blueprint is stored in the file Content\MyCar\MySedanBP.uasset, you can configure it by setting "DefaultCar": {"PawnBP":"Class'/Game/MyCar/MySedanBP.MySedanBP_C'"}. The XYZ.XYZ_C notation is essential for specifying the class of your BP. It's important to note that this blueprint must inherit from the CarPawn class. By default, this isn't enabled, but you can re-parent the BP using the "Class Settings" button in UE editor after opening it and selecting "Car Pawn" for Parent Class settings in Class Options. Additionally, disabling "Auto Possess Player" and "Auto Possess AI" along with setting AI Controller Class to None in BP details is advisable. Lastly, ensure your asset is included in packaging options if creating binaries.

物理引擎名称 PhysicsEngineName

针对汽车的仿真的情况下,请您确认如下设置:我们目前仅允许配置 PhysX ,并建议您暂不启用此功能(因为当前版本的 FastPhysicsEngine 已经足够满足您的需求)。而对于飞行器的仿真的情况下,请您确认如下设置:我们目前仅允许配置 "FastPhysicsEngine"

本地主机 IP 设置 LocalHostIp Setting

当必须连接到远程主机时, 必须使用以太网适配器进行互联; 具体来说, 可能会通过以太网、Wi-Fi或其他虚拟适配器/VPN进行连接. 注意到你的PC可能拥有多个网络接口, 这些网络接口之间可能无法实现通信; 因此,在这种情况下, UDP消息无法传播到其他主机上.LocalHostIp参数允许你配置如何建立与这些主机的连接.127.0.0.1默认值无法访问外部主机; 这一默认设置仅用于单机内部通信

速度单位因子 SpeedUnitFactor

速度表示为每秒米(m/s)的因数,默认设置为1。配合使用的标签是 SpeedUnitLabel。主要应用于显示车辆行驶的速度,请注意这通常只用于展示车辆行驶的速度数值。例如,在将速度从米/秒转换为英里/小时时,乘数是2.23694。

速度单位标签 SpeedUnitLabel

速度单位, 默认为 m/s. 结合 SpeedUnitFactor 一起使用.

全部评论 (0)

还没有任何评论哟~