KIND Interior

From TrainzOnline
Revision as of 15:03, 19 October 2011 by Pw3r (Talk | contribs)

Jump to: navigation, search

KIND Interior provides the basis for a building or vehicle interior, with or without control levers and dials.

This asset type inherits all mesh display characteristics, and adds interior-specific functionality such as control levers.

Contents

KIND Hierarchy

Parent Classes

Child Classes

  • none.

Supported Tags

Each interior asset supports the following tags. Each tag is shown here with its default value.


kind "interior"
cameralist
{
  camera0                               0,0,0,0,0
}
soundscript
{
}
cameradefault                           0
cabin-visible-from-outside              0
outside-visible-from-cabin              0
controlset                              ""
mesh-table
{
}


cameralist

Type: CameraList Container
Desc: Lists the different camera view positions and orientations this interior has.

soundscript

Type: SoundScript Container
Desc: Details sounds that a cab interior can produce. Sounds may be triggered by the asset script, or by object animations.

cameradefault

Type: Integer
Desc: Defines which of the cameras in 'cameralist' is the default camera (the one selected when the user first goes into cab view mode). e.g. "cameradefault 3" will make "camera3" the default camera view.

cabin-visible-from-outside

Type: Boolean
Desc: If true, makes the cab mesh visible from the outside view.

This is intended for objects with simple but obviously visible cab controls that are not enclosed - e.g. the controls to operate a transfer table. It would be far too much of a performance impact to use this on locomotive models, as locomotive cabs are very performance intensive.

outside-visible-from-cabin

Type: Boolean
Desc: If true, makes the loco body mesh visible while in the cab interior view.

This is intended to be used with an interior where the cab controls that are not in an enclosed space - e.g. a transfer table. While using this on a traincar is not considered problematic from a performance perspective, please note this will require a very carefully designed cab and loco asset - both the inside of the loco mesh and the cab interior will be visible at the same time, and unless done very carefully, this is likely to cause graphical problems with overlapping polygons and unexpectedly visible or opaque surfaces.

controlset

Type: KUID
Desc: Specifies a controlset asset used to send script messages to this interiors custom script. Optional.

mesh-table

Type: MeshTable Container (Interior version)
Desc: All the meshes for the cab interior (the shell itself, along with all the controls and gauges) are listed here. A mesh table for an interior has a number of additional options that a normal mesh table does not.

Example Config.txt

Sample config.txt file for a interior asset, with the Standard Tags excluded for brevity:


kind                                    "interior"

cameralist
{
  camera0                               -1.236,0.173,0.392,0.511,-0.155
  camera1                               -1.278,-0.176,0.392,0.511,-0.155
  camera2                               -1.247,0.344,0.52,6.708,-0.403
  camera3                               -0.113,0.965,0.52,6.312,-0.377
  camera4                               1.35,0.15,0.52,5.71,-0.265
  camera5                               1.374,0.208,0.205,6.048,-0.06
  camera6                               -0.754,0.926,1.011,6.636,-0.516
  camera7                               -1.293,0.449,0.459,6.757,-0.342
}
cameradefault                           0

mesh-table
{
  default
  {
    mesh                                "c_interior.im"
    auto-create                         1
  }
  
  wheelslip_light
  {
    kind                                "light"
    mesh                                "wheelslip_light.im"
    auto-create                         0
  }
  
  bptrainbrakepipe_needle2
  {
    kind                                "digital-dial-prs"
    mesh                                "brakeneedle.im"
    att                                 "a.brakepipe2"
    limits                              0,55
    font                                "arial"
    fontsize                            0.007
    fontcolor                           80,240,120
    auto-create                         1
  }
  
  speedo_needle2
  {
    kind                                "digital-dial-spd"
    mesh                                "brakeneedle.im"
    att                                 "a.digispeedo"
    limits                              0,55
    font                                "arial"
    fontsize                            0.01
    fontcolor                           0,0,0
    auto-create                         1
  }
  
  throttle_lever
  {
    kind                                "lever"
    mesh                                "throttle.im"
    att                                 "a.throttle"
    limits                              0,8
    angles                              0,1.69
    notches                             0,0.125,0.25,0.375,0.5,0.625,0.75,0.875,1
    notchheight                         1,2,2,2,2,2,2,2,1
    radius                              0.35
    mousespeed                          -1
    auto-create                         1
  }
  
  dynamicbrake_lever
  {
    kind                                "lever"
    mesh                                "dynamic_handle.im"
    att                                 "a.dynamic"
    limits                              0,2
    angles                              0,-1.69
    notches                             0,1
    notchheight                         0.1,1
    mousespeed                          -1
    radius                              0.35
    auto-create                         1
  }
  
  trainbrakelap_lever
  {
    kind                                "lever"
    auto-create                         1
    mesh                                "trainbrake_handle.im"
    att                                 "a.trainbrake_handle"
    limits                              0,4
    angles                              0,-2
    notches                             0,0.25,0.5,0.75,1
    notchheight                         2,2,2,2,2
    mousespeed                          1
  }
  
  independantbrake_lever
  {
    kind                                "lever"
    mesh                                "indy_handle.im"
    att                                 "a.ind"
    limits                              0,32
    angles                              0.94,0
    notches                             0,0.5,1
    notchheight                         1,1,1
    radius                              0.35
    mousespeed                          1
    auto-create                         1
  }
  
  flow_needle
  {
    kind                                "needle"
    mesh                                "flowneedle.im"
    att                                 "a.bpflow"
    limits                              0,1050
    auto-create                         1
  }
  
  bplocomain_needle
  {
    kind                                "needle"
    mesh                                "brakeneedlered.im"
    att                                 "a.mainres"
    limits                              0,1240
    auto-create                         1
  }
  
  bploco_equaliser
  {
    kind                                "needle"
    mesh                                "brakeneedle.im"
    att                                 "a.eqres"
    limits                              0,1240
    auto-create                         1
  }
  
  bptrainbrakecylinder_needle
  {
    kind                                "needle"
    mesh                                "brakeneedlered.im"
    att                                 "a.brakecyl"
    limits                              -50,1390
    auto-create                         1
  }
  
  bptrainbrakepipe_needle
  {
    kind                                "needle"
    mesh                                "brakeneedle.im"
    att                                 "a.brakepipe"
    limits                              0,1240
    auto-create                         1
  }
  
  speedo_needle
  {
    kind                                "needle"
    mesh                                "speedo_pointer.im"
    att                                 "a.speedo"
    limits                              0,43
    auto-create                         1
  }
  
  ampmeter_needle
  {
    kind                                "needle"
    mesh                                "needleamps.im"
    att                                 "a.ampmeter"
    limits                              0,1700
    angles                              0,3.02058
    auto-create                         1
  }
  
  reverser_lever
  {
    kind                                "lever"
    mesh                                "reverser_handle.im"
    att                                 "a.throttle01"
    limits                              0,2
    angles                              -0.55,0.55
    notches                             0,0.5,1
    notchheight                         1,1,1
    mousespeed                          -1
    auto-create                         1
  }
  
  right_sliding_window
  {
    mesh                                "window1.im"
    auto-create                         1
    att                                 "a.window1"
    att-parent                          "default"
    limits                              0,1
    angles                              0,-0.009
    notches                             0,1
    notchheight                         1,1
    kind                                "lever"
  }
  
  right_sliding_window2
  {
    mesh                                "window2.im"
    auto-create                         1
    att                                 "a.window2"
    att-parent                          "default"
    limits                              0,1
    angles                              0,0.009
    notches                             0,1
    notchheight                         1,1
    kind                                "lever"
    mousespeed                          -1
  }
  
  left_sliding_window
  {
    mesh                                "window3.im"
    auto-create                         1
    att                                 "a.window3"
    att-parent                          "default"
    limits                              0,1
    angles                              0,-0.009
    notches                             0,1
    notchheight                         1,1
    kind                                "lever"
    mousespeed                          -1
  }
  
  left_sliding_window2
  {
    mesh                                "window4.im"
    auto-create                         1
    att                                 "a.window4"
    att-parent                          "default"
    limits                              0,1
    angles                              0,0.009
    notches                             0,1
    notchheight                         1,1
    kind                                "lever"
    mousespeed                          1
  }
  
  light_switch
  {
    kind                                "lever"
    att                                 "a.hdlt"
    mesh                                "hdltswtch.im"
    limits                              0,1
    angles                              0,2
    notches                             0,1
    notchheight                         0.1,0.1
    mousespeed                          -1
    auto-create                         1
  }
  
  horn
  {
    kind                                "pulllever"
    mesh                                "horn.im"
    att                                 "a.horn"
    auto-create                         1
    angles                              0,-0.55
    limits                              0,1
    mousespeed                          -1
    radius                              -0.02
    notches                             0,1
    notchheight                         0,0
  }
}

Downloads

Attach sample files here?

Categories

Personal tools