No announcement yet.

Use Custom Volume for Environment Variables?

  • Filter
  • Time
  • Show
Clear All
new posts

    Use Custom Volume for Environment Variables?

    I'm currently setting up a SpaceStation game, where environment variables such as temperature, pressure, oxygen, etc are important to know throughout the station. These variables will also be used to interact this other logic (Eg space suit, or air scrubber, etc).

    The way I currently have it planned is to program a custom placable Volume that contains all these stats for each room in the station. The plan would be to attach various systems to these volumes to change the stats. For example air would be continuously pumped into each room via 'air vents' attached to each volume. Or if a human is in the room then at each tick air would diminish. If a door was opened between two rooms I would want them notice and then to equalize stats (share air, so to speak).

    1. Do you think this will be the best way to do this, in your opinion?
    2. As I am fairly new to UDK, do you foresee any problems with this plan that I do not?
    3. Can volumes only be cubes? If I have a rounded corridor will I have to find some way to stitch multiple cube volumes together?


    You will want to write your own Kismet SeqActions as well to interact with these Volumes when certain stuff happen in your level, for example opening the door. The SeqAction could then affect all Volumes that belong together, so there should be no problem with the round corridor.

    It is possible to create other shapes than cubes, but you will want to leave each individual Volume a convex one, otherwise they could cease to work correctly.


      thats a good approach writing kismet classes.
      these could interact with custom volumes, letting air in and out or whatever.
      have some function that damages the player pawn in the volume.
      you going to have to deal with script thats for sure.


        I'm fine with writing UnrealScript. I'm actually more proficient at that then Kismet and the unreal editor at this point.

        The only thing that worries me is how I'm going to manage it all. Will each Volume have a 'tick' event that updates its own environment variables? Or will I have to write some sort of management routine that iterates through all of the volumes every frame to update?