Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - rolz

Pages: 1 ... 13 14 [15] 16 17 ... 19
211
Support / Download
« on: June 12, 2005, 10:07:23 am »

212
Projects / Multitexturing
« on: June 01, 2005, 06:06:57 pm »
Egon,

Would it be possible to assign multiple textures to a polygon ?

Basicaly, i would like to lay "road bricks" texture on top of some polygons of the terrain object

213
Projects / Technopolies
« on: June 01, 2005, 05:56:00 pm »
1. google for 'visio.xsd' , download it (5 min)
2. use Apache XMLBeans to generate XML stubs for visio document schema (5 min)
3. create custom property set and a couple of simple objects (walls, buildings  and trees) - 10 min
4. write a testcase for loading templates and objects on map - accessing coordinates, bounds and custom property sets - 15 min.

214
Projects / Loading server map
« on: June 01, 2005, 10:21:46 am »
- added support for map viles created in MS Visio

visio allows custom property sets for objects and makes it possible to export the entire drawing to XML.


drawing map in Visio using custom stencils


same using the relief map as background

215
Support / Axis problem
« on: June 01, 2005, 08:37:29 am »
Hey Manu,

try this
Code: [Select]

model.rotateZ(z);
model.rotateMesh();

216
Projects / new models
« on: May 29, 2005, 01:34:05 pm »
- optimized player models (from 1200 to 530 faces)




217
Projects / Animated characters
« on: May 25, 2005, 07:36:43 pm »
- added animated characters to the new terrain. a
- added weather conditions to the world




218
Projects / Technopolies
« on: May 25, 2005, 02:48:57 pm »
yes. There is no other way to show 2d in openGL mode

219
Feedback / The future
« on: May 25, 2005, 12:12:19 pm »
I recall the first time I came here looking for a 3d applet engine. The cool thing about jPCT was its simplicity, lightweightness and compatibility with older VMs. I still think it is the #1 solution for applets that need 3D.

  I admit i had a slight feeling of FUD after using jpct for a half of a year. It seemed that the development would stuck after going to desktop.  I did research on other engines jME and XITH and to my surprise they turned out to be even FUDer because of the feeling of incompleteness, overcomplexity and the way they are developed.

The right way to go is to consider JPCT not the silver bullet but stable and usable 3D java middleware. It does have own pros and cons thought but turns out to be well-suitable for most cases.

Talking about the future, i am not sure what are motivations for Egon to make this project evolve. JPCT is not affiliated by any business (I hope this is a subject to change in future to get motivation ), does not have community contributions, lacks demos and promotion. IMO working in these directions should reduce FUD and give the project more marketing value.

220
Support / Physics / animations engine bindings for JPCT
« on: May 25, 2005, 07:58:45 am »
Helge,

Do you have plans for adding JPCT bindings to existing physics / animation engines like ODE and Cal3D ?

221
Projects / Texture map
« on: May 24, 2005, 04:50:07 pm »
Added texture maps to map builder.
Different textures could be bound to colors of pixels on texture map


this is how the relief map looks like:


texture map that defines textures for map squares:


and the result:

222
Projects / Animation
« on: May 24, 2005, 03:33:14 pm »
Technopolies animation is simplier than skeletal (Cal3D ) or mesh animaton (which is supported by JPCT).

I used rot angles between body parts to define each frame. Then rotate all specified parts to some interpolated values on playback.
Animation editor is a visual tool for recording/previewing animations.

The pros of using own animations framewor are that it is really simple and lightweight. The cons are that you cannot mix several animations for same body parts (while it is still possible to mix separate animations for, say legs, arms and chest).

You may also want to check Cal3D as it should be more mature (in fact i am looking into switching to it someday on low priority), try googling for Fuze3D and java port of Cal3D

223
Projects / Animation Editor update
« on: May 23, 2005, 01:24:36 pm »
- Animation editor redesigned to support custom skeletons

animation editor


naked character

224
Projects / Server technology
« on: May 23, 2005, 01:17:40 pm »
The server is build on top of java NIO and its own scalable lightweight framework. Earlier applet versions used j2ee server which turned out to be the overkill. Some later i had to switch to a home made solution.

I did some research on game servers and did not found anything for outright use. Most of techs are either in the prototype stage or are expensive or lack documentation and proven successful usage facts.

1. Java Game Server - http://www.gridtoday.com/04/0329/102930.html SUN demoed it a year ago and since then i did not hear anything about this technology. Still it looks very promising due to it's innovative resource management approach.

2. GREX engine http://www.grexengine.com/ claims to have same features. I did not managed to find a decent doc or demo or whatever that proves that it is worth using. Costs $5.000-$500.000 depending on the license type

225
Projects / Terrain code
« on: May 23, 2005, 12:52:54 pm »
Sand storm on the surface ... 8)


Here is the terrain generator code that uses images to generate 3D terrain. ClientFactory.addPlane() generates rectangle by 4 points, the code should be somewhere here in one of the forums.

Code: [Select]

//load map image and grab pixels data
        Image map = ClientFactory.getImage("/resources6/test_map2.gif").getScaledInstance(MAP_WIDTH, MAP_HEIGHT, Image.SCALE_SMOOTH);
        PixelGrabber pg = new PixelGrabber(map, 0, 0, MAP_WIDTH, MAP_HEIGHT, true);
        pg.grabPixels(0);
        int[] pixels = (int[]) pg.getPixels();

        //create terrain object
        ground = new Object3D(pixels.length * 4);

        //store map heights
        int[][] cols = new int[MAP_HEIGHT][MAP_WIDTH];

        for (int i = 0; i < pixels.length; i++) {
            int x = i / MAP_WIDTH;
            int y = i % MAP_WIDTH;
            int col = getCol(i, pixels);
            cols[x][y] = col;
        }

        //preload random textures for map tiles
        String[] textures = new String[]{
            "/resources6/test_texture.jpg",
            "/resources6/test_texture2.jpg",
            "/resources6/test_texture3.jpg",
            "/resources6/test_texture4.jpg",
            "/resources6/test_texture5.jpg"
        };
        for (int i = 0; i < textures.length; i++) {
            ClientFactory.getTexture(textures[i]);
        }
       
        //add polygons to Ground
        for (int i = 0; i < MAP_HEIGHT - 1; i++) {
            for (int j = 0; j < MAP_WIDTH - 1; j++) {

                int nw = cols[i][j];
                int ne = cols[i][j + 1];
                int se = cols[i + 1][j + 1];
                int sw = cols[i + 1][j];

                int x = j;
                int y = i;

                int textureId = TextureManager.getInstance().getTextureID(textures[(int) (Math.random() * textures.length)]);

                ClientFactory.addPlane(ground,
                        new SimpleVector(x * CELL_SIZE, y * CELL_SIZE + CELL_SIZE, HEIGHT_PER_UNIT * sw), //sw
                        new SimpleVector(x * CELL_SIZE, y * CELL_SIZE, HEIGHT_PER_UNIT * nw), //nw
                        new SimpleVector(x * CELL_SIZE + CELL_SIZE, y * CELL_SIZE, HEIGHT_PER_UNIT * ne), //ne
                        new SimpleVector(x * CELL_SIZE + CELL_SIZE, y * CELL_SIZE + CELL_SIZE, HEIGHT_PER_UNIT * se), //se
                        CELL_SIZE,
                        textureId);

            }
        }

        ground.calcNormals();

Pages: 1 ... 13 14 [15] 16 17 ... 19