This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
专业(SIM)
UnigineEditor
界面概述
资源工作流程
版本控制
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

IG Aviation Add-on

IG Aviation附加组件包含一组现成使用的飞机组件,创建诸如发动机和起落架火灾,烟雾,尾迹,起落架,直升机旋翼叶片设置与模糊效果和旋翼洗涤效果。该插件还显示了车轮跟踪气象雷达的实现。

组件#

飞机的影响#

设置各种飞机效果(发动机或起落架火灾,烟雾,尾迹等):

  1. EffectAircraftController属性分配给父节点(飞机),并保持所有参数不变。
  2. EffectAircraft属性分配给表示各种类型视觉效果的每个节点。

    以下属性参数可用:

    • Node—要启用/禁用的节点
    • Emitter Node -一个为效果发射粒子的节点
    • Default Enable -默认情况下是否启用该效果
    • Effect Type -飞机效果类型选择(发动机或起落架火灾,烟雾,尾迹等)
    • Wind Dependent -表示效果是否受风的影响

起落架#

这个部件允许控制起落架。它包含以下几个属性:

  1. LandingGears属性分配给父节点(飞机)。

    以下属性参数可用:

    • Gear -表示延长齿轮
    • Time Covers -覆盖开放时间,以秒为单位
    • 0 -齿轮延伸时间,以秒为单位
    注意
    确保所有枢轴点设置>
  2. 定义哪些节点表示起落架的部分,并为它们分配LandingGearPart属性。

    以下属性参数可用:

    • Node—要移动的节点(通常是分配了此属性的节点)
    • Is Cover -表明是否部分封面(封面前打开齿轮扩展)
    • Use Dummy Cover -表示齿轮收放后是否用假盖盖住轮舱。启用后,将显示一个额外的When Extended选项。它用于规定当齿轮伸出时假盖是否可见。

      注意
      如果启用了此选项,则Node字段不应包含分配此属性的节点,因为该组件将在收回后永远禁用。
    • Rotate -表明部分是否应该旋转
    • Axis -部件旋转轴的坐标
    • Extension Angle -旋转角的部分,延长齿轮时,在度
    • -齿轮缩回时零件的旋转角度,以度为单位
    • Cover Closable -表明封面是否应该关闭设备扩展,或保持开放

转子叶片#

RotorBlade属性控制直升机旋翼叶片的锥形,并由于叶片旋转而产生磁盘模糊。要使用这个属性,旋翼叶片在你的直升机模型应该有一个单独的网格和材质。

使用此属性还意味着您拥有叶片材质(附加组件中的mesh_blade.mgraph)以及叶片在快速旋转时模糊的圆的节点和材质(检查附加组件中的helicopter_simple Node Referencedisk节点和mesh_blur_blades.mgraph材质)。

RotorBlade财产分配给父节点(转子节点)。

以下属性参数可用:

RotorBlade property

Input
Speed 转子转速,在RPM。这是默认值,可以在运行时改变。
Beta 0 定义锥角的参数。这是可以在运行时更改的默认值。
Beta Cos 参数用于纵向拍打。这是默认值,可以在运行时改变。
Beta Sin 用于侧扑动的参数。这是可以在运行时更改的默认值。
Rotor
Rotation Direction 转子的旋转方向。
Pivot 以给定RPM旋转的节点。
Axis 旋转轴的主节点。
Blade
Sample 单叶片样品。模型应该只有一个叶片,叶片的数量由Total Count参数控制。叶片应该有自己的网格和材质独立于直升机模型体。材质应提供叶片弯曲可视化。
Length 叶片长度,在米。
Total Count 旋翼叶片总数。叶片样品被克隆所需的次数,等间隔,并安排在一个圆圈。
Material Beta 0
Parameter
叶片材质参数的名称用于控制锥进角可视化。
Material Blade
Length Parameter
用于设置叶片长度的叶片材质参数名称。
Circle
Node 模糊圈节点替换叶片在高转速值。
Material Beta 0
Parameter
用于控制圆锥角可视化的圆材质参数名称。
Material Beta Cos
Parameter
的名字圈材质参数用于控制纵向拍打可视化。
Material Beta Sin
Parameter
用于控制侧扑动可视化的圆材质参数名称。
Material Blade
Length Parameter
用于设置叶片长度的圆形材质参数名称。
Material Blade
Count Parameter
的名字圈材质参数用于设置叶片数。
Material UV Animation
Parameter
圆形材质参数的名称,用于根据转子转速值控制圆形UV动画。
RPM To Time
Coefficient
乘数将RPM价值紫外线动画参数值。
Blurring
Threshold Blade Speed 转速在此之前只有叶片可见,从此开始叶片开始模糊。转速区间的最底层值,在该转速区间内叶片和模糊的圆都是可见的。
Threshold Circle Speed 旋转速度从只呈现模糊圈开始,叶片不再可见。的转速区间的最高价值叶片和模糊圈是可见的。
Blade Alpha 在叶片和模糊的圆都可见的时间间隔内控制叶片透明度的曲线。
Circle Alpha 圆曲线控制透明度的间隔期间叶片和模糊圈是可见的。

转子清洗效果#

该组件允许创建尘埃云的影响提出了转子洗直升机时站在地上,起飞或降落,苍蝇接近水面。

  1. 在UNIGINE编辑器中为每种类型的表面创建效果,并为每个表面分配RotorWashEffect属性。可用的参数如下:

    Intensity 转子洗能见度强度值。的最小值0效果是完全看不见的。的最大价值1 -完全可见。这是默认值,可以在运行时改变。
    Max Height 节点离地面的高度,在此高度上效果消失。
    Min Height 节点的高度从地面效应的最大强度。
    Forward Offset 倍增器移动效果向前相对于直升机。偏移距离取决于移动速度。这个设置的目的是使效果在驾驶舱视图中可见。
    Static Only 根节点的影响只显示当直升机不动。
    Disable Static 当直升机移动时禁用静态效果节点。如果该选项被禁用(即静态效果被启用),则静态效果将在其粒子系统的整个生命周期中显示。在大多数情况下,禁用此选项(即在粒子生命周期内启用静态效果可见性)是不必要的,因为从驾驶舱看不到效果。
    Max Static Velocity 直升机的速度上限被认为是静态(米/秒)。
  2. 根据效果节点类型分配修饰符:ParticlesParameterModifier / DecalParameterModifier / FieldHeightParameterModifier。修饰符用于将相应的节点(Particles/Decal/FieldHeight)与效果对齐。

    ParticlesParameterModifier有以下参数:

    Recursive 切换子粒子系统的同步。
    Enabled by Default 切换节点默认状态。如果节点在默认情况下是禁用的,你需要通过代码添加到现场之后启用它。
    Sync 通过同步器实现粒子同步。建议仅在通过网络进行同步非常重要时启用,因为这可能会影响性能。
    Lerp Life Time 昆虫蜜粒子生命时间价值与强度的影响。如果影响强度等于0,生命时间价值也等于0。
    Lerp Spawn Rate 使粒子产卵率值与效果强度相关联。如果效果强度等于0,刷出率值也等于0。
    Lerp Velocity 昆虫蜜粒子速度值和强度的影响。如果影响强度等于0,速度值也等于0。
  3. RotorWashController属性分配给直升机,并选择与每个效果对应的表面类型。

  4. 通过代码为每个表面设置表面类型。

流星雷达#

气象雷达(又名WSR)用于监测飞机前的天气(云和降水),是专业飞行模拟器的一个组成部分,使飞行员能够训练安全飞行轨迹的战略和战术规划。它是作为 MeteoRadar 组件实现的,需要足够的技能来有效地使用它:准确地调整这个系统并正确地解释天气雷达显示。雷达的所有关键参数都可以调整,包括显示距离(监测短距离和远距离天气),增益(用于天气严重程度评估),以及倾斜角度,FOV等。该雷达与UNIGINE先进的云系统生成的3D体云一起工作,确保雷达读数与飞机机舱视图的一致性。

雷达上显示的云强度是用每个点的云密度乘以当前的湿度计算出来的。

要使用气象雷达,创建一个 Node Dummy,并将MeteoRadar组件分配给它。可用的参数如下:

Radar
Orientation Euler 向量的欧拉角(音高、轧辊、偏航)。
Fixed Rotation 打开和关闭气象雷达的瞄准镜。
Gain 流星雷达的灵敏度。值越高,越不敏感的雷达(它只显示了危险的地区)。
Shadow Gain 气象雷达的功率。
FOV 视场角流星雷达的度。
Range
Min Range 雷达显示天气信息的最小距离(显示范围的下限)。
Max Range 最大距离的雷达显示天气信息(显示范围的上限)。
Width 雷达显示图像的宽度(水平线的数目)。
Height 雷达显示器上的图像的高度(数量的竖线)。
Debug 切换雷达当前方向的可视化开关。

该插件包含一个气象雷达 UI 示例,表示为 MeteoRadarWidget 组件,可在 调试模式 中使用 应用程序。 界面示例包括具有扫描效果的显示和一组控制雷达设置和扫描范围的参数。

打开世界#

打开包含模型的世界:

  • 安装IG Aviation插件(可以通过UNIGINE SDK浏览器在Add-Ons部分),并将它添加到您的项目(通过点击 Projects部分UNIGINE SDK Browser Other Actions -> Configure Project -> Assets)。
  • 单击File -> Open World (Ctrl + O)或打开Asset Browser窗口,打开\ig_aircraft\sample_content文件夹,并选择ig_aircraft世界。场景将会打开。
注意
单独的节点也可以作为*.node文件data/ig_aircraft/对应的子目录的目录。

\ig_aircraft\sample_content文件夹中的内容旨在演示如何使用这些属性。如果你不需要演示场景和资源,它可能会被删除。

配置您的项目#

注意
附加组件包含带有配置步骤的readme.md文件。

在你的c++项目中添加IG Aviation插件:

  1. 安装附加组件(可以通过UNIGINE SDK Browser IG Aviation Add-Ons部分),并将它添加到您的项目(通过点击 Projects部分UNIGINE SDK Browser Other Actions -> Configure Project -> Assets)。

    添加附加到您的项目的另一种方法是复制以下文件夹从这个附加到你的项目文件夹:

    • data/ig_aircraftdata/properties data
    • source/ig_aircraft_componentssource
  2. 添加source/ig_aircraft_components/*文件到你的c++项目。
  3. 构建应用程序注册添加组件在c++组件系统。
  4. 配置ig_config.xml -将以下内容添加到entity_types块中:

    源代码 (XML)
    <entity id="201" name="be-200-mod">
    	<path>ig_aircraft/sample_content/be_200_mod.node</path>
    	<component id="0" name="light_outer">
    		<property>LightAircraftController</property>
    		<parameter type="int" name="data1">landing</parameter>
    		<parameter type="int" name="data2">taxi</parameter>
    		<parameter type="int" name="data3">navigation</parameter>
    		<parameter type="int" name="data4">beacon</parameter>
    		<parameter type="int" name="data5">strobe</parameter>
    		<parameter type="int" name="data6">logo</parameter>
    	</component>
    	<component id="1" name="light_inner">
    		<property>LightAircraftController</property>
    		<parameter type="int" name="data1">windows</parameter>
    		<parameter type="int" name="data2">cockpit</parameter>
    	</component>
    	<component id="2" name="fire_engine">
    		<property>EffectAircraftController</property>
    		<parameter type="int" name="data1">fire_engine_1</parameter>
    		<parameter type="int" name="data2">fire_engine_2</parameter>
    		<parameter type="int" name="data3">fire_engine_3</parameter>
    		<parameter type="int" name="data4">fire_engine_4</parameter>
    	</component>
    	<component id="3" name="fire_aircraft">
    		<property>EffectAircraftController</property>
    		<parameter type="int" name="data1">fire_landing_front</parameter>
    		<parameter type="int" name="data2">fire_landing_back</parameter>
    		<parameter type="int" name="data3">fire_tail</parameter>
    	</component>
    	<component id="4" name="landing_gears">
    		<property>LandingGears</property>
    		<parameter type="int" name="data1">gear</parameter>
    		<parameter type="float" name="data2">manual_gear</parameter>
    	</component>
    	<component id="5" name="effects">
    		<property>EffectAircraftController</property>
    		<parameter type="int" name="data1">smoke</parameter>
    		<parameter type="int" name="data2">contrail</parameter>
    	</component>
    	<articulated_part id="1" name="aileron">
    		<node invert_pitch="1">aileron_left</node>
    		<node>aileron_right</node>
    	</articulated_part>
    	<articulated_part id="2" name="rudder">
    		<node invert_yaw="1">rudder</node>
    	</articulated_part>
    	<articulated_part id="3" name="elevator">
    		<node invert_pitch="1">flipper_left</node>
    		<node invert_pitch="1">flipper_right</node>
    	</articulated_part>
    	<articulated_part id="4" name="flap">
    		<node invert_pitch="1">flap_0_left</node>
    		<node invert_pitch="1">flap_0_right</node>
    		<node invert_pitch="1">flap_1_left</node>
    		<node invert_pitch="1">flap_1_right</node>
    	</articulated_part>
    	<articulated_part id="5" name="engine">
    		<node>engine_left</node>
    		<node>engine_right</node>
    	</articulated_part>
    	<articulated_part id="6" name="wheel">
    		<node>chassis_element_left/chassis_left/wheels_left</node>
    		<node>chassis_element_right/chassis_right/wheels_right</node>
    		<node>dummy_axis_chassis_front/chassis_front001/wheels_front</node>
    	</articulated_part>
    	<articulated_part id="7" name="slat">
    		<node>slat_left</node>
    		<node>slat_right</node>
    	</articulated_part>
    	<volume_definition id="0" name="body" shape="0">volumes</volume_definition>
    	<volume_definition id="1" name="wings" shape="1">volumes</volume_definition>
    </entity>
    <entity id="180" name="uc-135">
    	<path>ig_aircraft/sample_content/helicopter/node/helicopter_simple.node</path>
    	<component id="1" name="RotorBlade">
    		<node>body/rotor_aux</node>
    		<property>RotorBlade</property>
    		<parameter type="float" name="data1">speed</parameter>
    		<parameter type="float" name="data2">beta_0</parameter>
    		<parameter type="float" name="data3">beta_cos</parameter>
    		<parameter type="float" name="data4">beta_sin</parameter>
    	</component>
    	<component id="2" name="RotorWashController">
    		<property>RotorWashController</property>
    		<parameter type="float" name="data1">intensity</parameter>
    		<parameter type="float" name="data2">rpm_intensity</parameter>
    	</component>
    </entity>
    <entity id="218" name="minibus">
    	<path>ig_aircraft/sample_content/minibus/minibus.node</path>
    	<component id="0" name="wheel_trace">
    		<property>WheelTraceController</property>
    		<parameter type="float" name="data1">input_intensity</parameter>
    	</component>
    </entity>
  5. 配置主机。主机配置的一个示例可以在readme.md文件中找到。

在配置的项目中,您将能够创建以下实体类型:

  • 201 -飞机(火焰效果,起落架)
  • 180 -直升机(旋翼锥形,旋翼清洗)
  • 218 -汽车(轮跟踪贴花)
最新更新: 2024-04-19
Build: ()