Announcement

Collapse
No announcement yet.

[C4:AC][Art and Graphics] Some 3D Graphics Research.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C4:AC][Art and Graphics] Some 3D Graphics Research.

    To get the ball rolling on graphics work I've done some research.

    Unit Construction:
    In SMAC units are constructed from multiple 3D models. Like a rover is constructed from:
    Axles & wheelhubs.
    Connecting Bits.
    Back Wheels
    Front Wheels
    Small Reactor
    Cockpit (linked to reactor)
    Weapon/Equipment
    Armor
    Special Ability Attachments

    Many bits are shared between some chassis. For example Rover, Skimship and the 3 flying units use the same Reactor+Cockpit combo. The Cruiser and Hovertank use a heavy reactor (which has no associated cockpit). The Missiles use missile reactors.

    Each individual part can be found in a .cvr file, which can be opened with cvrplay. smacksim hunted down the viewer and attached it in this thread.

    It is unlikely we'll be able to use these .cvr files directly (both for technical and legal reasons) but they may provide useful templates for making 3D models with an authentic SMAC look. The next post will contain a preliminary list of useful .cvr files.

  • #2
    I've done some browsing of these files and found files that might be useful for modeling. For now I'm omitting the alien-only stuff. ? or * indicates a series of files starting with that name.

    Code:
    Whole Chassis
    Ni	native isle
    nlc	native locust
    nlw	native worms(?)
    vpt	probe team
    vi	infantry
    
    Chassis Bits
    VGMC* 	Base chassis used for everything except Infantry,Hovertank,Missile.
    VCL*	Infantry "equipment" vehicle bits.
    VGMT* 	Infantry "offensive" Heavy Gun mount bits.
    VCU	Generic "Reactor Mount" bit.
    VSP*	Rover bits
    VCT*	Chopper bits
    VCU*	Cruiser bits (VCU is generic)
    VGS* 	Gravship bits
    VJT*	Noodle bits
    VHT* 	Hovertank bits
    VFL	foil
    VM	missile
    
    
    Reactors	
    viptr0* big reactors
    vpbr0*	missile reactors
    vr0*	small reactors
    vrcp0*	small cockpits
    
    More Bits	
    VA01	vehicle armor used for everything except infantry, tank, cruiser, missile.
    VT	Infantry Formers bit.
    Drop	infantry colony pod
    
    Weapons/Equipment
    vw??	weapons. In order of damage.
    res*	resonace weapons
    vw???	equipment.
    ptmod	probeteam equipment
    Droplet	colony pod equipment.
    Funload	Fungal Missile
    TECLOAD	tectonic missile
    
    Special Abilities
    S??     Most abilities
    SP-*	AX abilities?
    VHR	heavy artillery.
    
    Misc:
    select	selection circle :)
    Last edited by Blake; October 4, 2005, 04:36.

    Comment


    • #3
      A possible design methodolgy:

      In SMAC a Unity Foil is assembled from parts like this:

      tada


      This isn't a bad method for creating a great many unit combinations. It might be worthwhile using the same method, basically reproducing many of the cvr models as modern polygon meshes.

      Ideally it would be possible for the Civ4 engine itself to stitch the units together, but if not we could always do it manually and be able to easily create a selection of units from the pre-made parts. (altough this would be at the expense of polycount)

      Comment


      • #4
        polycount?
        -- What history has taught us is that people do not learn from history.
        -- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

        Comment


        • #5
          Size of the graphics file, in essence.

          The more "poly's", the more resources needed to run it.
          He who knows others is wise.
          He who knows himself is enlightened.
          -- Lao Tsu

          SMAC(X) Marsscenario

          Comment


          • #6
            Originally posted by binTravkin
            polycount?
            That would be number of polygons (usually triangles) in a 3D model. The lower the better, since resources will be needed for calculating other parts of game like AI behaviour, unit movement etc.
            SMAC/X FAQ | Chiron Archives
            The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. --G.B.Shaw

            Comment


            • #7
              Hmm, still I don't think it would be of great issue.

              Units have only a constant number of directions they can have thus each of them can be rendered during the game stage called 'loading graphics' and stored in memory as ready-to-use blocks requiring almost no CPU assistance when using in actual game.

              It would be quite stupid for a programmer to rerender each unit.
              That would mean a geometrical progression in CPU resource consumption based upon unit count.
              -- What history has taught us is that people do not learn from history.
              -- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

              Comment


              • #8
                Originally posted by binTravkin
                Units have only a constant number of directions they can have thus each of them can be rendered during the game stage called 'loading graphics' and stored in memory as ready-to-use blocks requiring almost no CPU assistance when using in actual game.
                lol, kind of forgetting civ4's 3D engine where you can zoom and turn the world like you want... We have no choice but to use 3D models rendered realtime by your graphics card.
                no sig

                Comment


                • #9
                  Hmm, the graphics look very simple not high-res. Most of the faces are simple rectangles with a diagnal line running through them, that makes it two triangles. A very simple model except for curves which are more densly packed. The rest of the detail comes from the textures painted on each face. Like the cockpit windows for example.

                  It should be simple enough to recreate most of the models and merge them. The animated ones will require a little more work though. We might also want to increase the polygon count for smoothing if Civ4 renders each face flatly.
                  Don't rule me out when I'm losing. Save your celebration until after I'm gone.

                  Comment


                  • #10
                    why not remove camera rotation? without that 2d models could be used instead and not be noticable.

                    Comment


                    • #11
                      why would you that for???

                      Everybody who will play this mod, will have a pc that can handle the 3D models of civ4. So, they'll be able to use our 3D models too.

                      I really see no point in limiting civ4's free camera view. What's the benefit of 2d models ?
                      no sig

                      Comment


                      • #12
                        Originally posted by wgabrie
                        Hmm, the graphics look very simple not high-res. Most of the faces are simple rectangles with a diagnal line running through them, that makes it two triangles. A very simple model except for curves which are more densly packed. The rest of the detail comes from the textures painted on each face. Like the cockpit windows for example.

                        It should be simple enough to recreate most of the models and merge them. The animated ones will require a little more work though. We might also want to increase the polygon count for smoothing if Civ4 renders each face flatly.
                        SMAC uses voxels as far as I can tell. All the .cvr models are very detailed and some (like the cruiser) have pixel-perfect curves. I don't think they are texture mapped, being voxel models, each voxel is a different color. (you can use the cvrplay utility to see they are voxel models)

                        Also I believe SMAC renders the 3D graphics in realtime rather than pre-rendering, since units can face a great many different angles (rovers will align correctely to slopes and so on). This may sound like it would give implausibly bad performance but there are A LOT of optimizations which can be made for an isometric game like SMAC. For one, units are only rendered when they move or when scrolling brings them into view.

                        As far as polycount mattering for Civ3 it depends on how the engine works.... for example if it supports Imposters* we could get away with more highly detailed un-animated models.

                        * Imposters are when the graphics engine renders an object to a "billboard" then just blits that single texture when the object needs to be drawn onscreen (again). This obviously doesn't work when the camera is moving & looking around or the object is animating, but a heck of a lot of time is spent with the camera staying still and stuff isn't animating.

                        Comment


                        • #13
                          Originally posted by PJayTycy
                          why would you that for???

                          Everybody who will play this mod, will have a pc that can handle the 3D models of civ4. So, they'll be able to use our 3D models too.

                          I really see no point in limiting civ4's free camera view. What's the benefit of 2d models ?
                          quicker but not neccisarily easier. much less hardware demands. looks fine

                          why would you WANT 3d? it sux,all TBS and RTS in 3d are quite poor at it,and the general feeling of playing in a game like that. even on very strong systems aoe3 for example,just dosnt move as fasr as aoe2 on item selection etc.just a gimicky ''oohh we must have glitz'' thing. we arnt selling the mod.dont need it.

                          keep 3d for shooters....
                          if you want to stop terrorism; stop participating in it

                          ''Oh,Commissar,if we could put the potatoes in one pile,they would reach the foot of God''.But,replied the commissar,''This is the Soviet Union.There is no God''.''Thats all right'' said the worker,''There are no potatoes''

                          Comment


                          • #14
                            Moot point. The Civ4 world is a sphere, is it not?

                            Comment


                            • #15
                              Originally posted by Blake
                              Moot point. The Civ4 world is a sphere, is it not?
                              Looking at the planet pictures in screenshots, I have bad feeling about it, Blake. For me it looks more like a swollen cylinder. I wish I am wrong about it...
                              Mart
                              Map creation contest
                              WPC SMAC(X) Democracy Game - Morganities aspire to dominate Planet

                              Comment

                              Working...
                              X