User:Luomu

From PioneerWiki
Revision as of 04:20, 15 December 2012 by Luomu (talk | contribs)
Jump to: navigation, search

.plan

Hello! I do things for Pioneer. Not as much as I would like to.

You may catch me at:

  • github.com/Luomu
  • irc: kko_

Scratchpad

New systems that need to be developed

Lots of them :)

  • Model cache system so geometry is converted only once
  • Lua API
  • System to handle attachments
    • Tag points may be rotated in code to implement target tracking guns
  • System to handle spaceship logos, station advertisements and shipyard UI to customize your ship
    • It should be possible to add ship insignia by dropping a .png in your user folder, without saves breaking if you later remove that .png
  • UI to paint your ship and a system to give faction-appropriate colour schemes to NPC ships
  • Building sets
  • Update collision system to handle animation (just updating BB should be enough)
  • Separate space station docking scripts from the old models
  • There is no good way to define parameters for certain triangles (geomflags in LMR). The main use case is to mark landing pads, this will be doable with a named node.
  • etc

Graph dump

Below, an actual model test_meteor (two LODs, animated landing gear, several ship thrusters)

Group - test_meteor
 LOD
   Group - 10
     MatrixTransform - Scene
       MatrixTransform - Meteor_Low
         StaticGeometry - Meteor_Low_mesh
   Group - 1000
     Group
       MatrixTransform - Scene
         MatrixTransform - Meteor_Hi
           StaticGeometry - Meteor_Hi_mesh
         MatrixTransform
           Thruster - thruster_linear_rear_001
         MatrixTransform
           Thruster - thruster_right_001
         MatrixTransform
           Thruster - thruster_top_001
         MatrixTransform
           Thruster - thruster_right_000
         MatrixTransform
           Thruster - thruster_left_001
         MatrixTransform
           Thruster - thruster_left_002
         MatrixTransform
           Thruster - thruster_linear_rear_000
         MatrixTransform
           Thruster - thruster_top_000
         MatrixTransform
           Thruster - thruster_wing_001
         MatrixTransform
           Thruster - thruster_wing_000
         MatrixTransform
           Thruster - thruster_wing_002
         MatrixTransform - decal_01
           StaticGeometry - decal_01_mesh
     Group
       MatrixTransform - Root
         MatrixTransform - LandingGear
           StaticGeometry - LandingGear_mesh
 MatrixTransform - tag_gun_left
 MatrixTransform - tag_gun_right

Optimization potential: unanimated geometry should be pre-translated at loading phase to get rid of some MatrixTransforms.

Question: you might notice tag_gun_left and right are attached to the model root node. They have been pre-transformed to make the positions absolute. It's done this way since if a tag is defined on each LOD it can practically have several positions. This is a bit stupid since now they are outside of the LOD node. Should tags be kept in their original locations in the structure (then model->FindTag will potentially return more than one)?