March (2014) Monthly WIP Screenshot Thread

Yes it’s march already. Guess I’ll go ahead and throw some interesting terrain-based food to the table.

This video shows my WIP for making the terrain editor tools work over multiple terrain tiles:

And this video shows paged terrain auto-generated on the fly using noise added into the sceneComposer as a control. The plan is to combine both of these projects so that you can terraform it too.

7 Likes

=D Looking good!

Very cool. I like the noise editor you have in the second video there.

Once again the definition of “screenshot” has been sullied. Soon enough the “Screenshot Thread” will consist exclusively of Occulus Rift livestreams.

Still, have my +1 good sir. Mighty fine work.

It’s long time i don’t have JME thing to show, now my entry: NiftyEditor embeded in the SDK.

4 Likes

Hey that’s pretty cool. What are the advantages over the existing inbuilt editor?

It is a visual editor instead of xml editor and a preview. Visual mean you drag and drop buttons or other element on the screen, move them around and then saved. It will appear exactly in the game.

I plan to make some progess in this in GSoC, (it’s dormant because lack of time and needs) may be @relucri can take over and improve it beside of his stand alone editor.

Here’s my first Monthly WIP screenshots. I’m putting works of everybody together (be proud, JME3 community) and sometimes I put I little of my love in it too :stuck_out_tongue:

I’m only at the stage of making an environment, but behind the scenes it’s 100% procedurally and infinitely generated in real time. It’s also seedable, meaning there are NO FastMath.rand() anywhere in the code. All based on seedable noise maps. I have many hopes of making a survival game, but as you can see, it WON’T be voxel based or Minecraft like. I want to make something original out of this. No guns, no cubes, something new and captivating. We’ll see in a few months haha :stuck_out_tongue:

I’m doing this part time and I’m relatively new to JME3 (3 months) but I’m picking this up day by day.

I’m planning on adding water ponds, rain/snow system and much more at this point this “much more” is SO FAR AWAY from today that it’s not worth mentionning haha :stuck_out_tongue:

12 Likes

@.Ben. I don’t know about anyone else but the first thing that pops into my head while looking at these screenshots is “Morning Mood” by Edvard Grieg. Can’t wait to see more :slight_smile:

1 Like
@.Ben. said: Here's my first Monthly WIP screenshots. I'm putting works of everybody together (be proud, JME3 community) and sometimes I put I little of my love in it too :P

I’m only at the stage of making an environment, but behind the scenes it’s 100% procedurally and infinitely generated in real time.

Pretties and shinies! :smiley:

Nice work!

1 Like
@.Ben. said: Here's my first Monthly WIP screenshots. I'm putting works of everybody together (be proud, JME3 community) and sometimes I put I little of my love in it too :P

Nice sun/moon :slight_smile:

1 Like

Moon is yours! haha :smiley: … and sun is a huge spotlight along with Rémy’s bloom and scattering shader.

…AAAAAAND I’ll post one more today :smiley:

What’s this?
I got Rémy’s awesome advanced water filter to work on arbitrary shapes. It is not perfect but it does what it’s supposed to do. What I mean is: since advanced water is a POST filter (and that it only draws pixels on top of otherwise already pixelated mesh) one would still have to be careful to set the water height as low as to have the shape’s sides unreachable by the camera, since it’s not supported and does unpredictable results like underwater, the caustics and such goes to infinite and also outside water the sides are invisible, but otherwise, it’s working fine for me and FPS draw is next to nothing compared to the original shapes (circular and infinite plane). The real usefulness of this tweak is to have many different ponds of totally custom shapes (and still not necessarily on the same Y-plane height).

How to check dynamic polygon’s bounds?
The java class is next to not modified, except for a new AreaShape (“polygon”) and an array to store the XZ coordinates of the polygon shape. Then I pass this vertices array to the shader and in the GLSL fragment shader, I implemented a nice little algorithm to detect if the camera is inside the bounds of that polygon, no matter how many vertices or the complexity of the shape. I found this method SO damn clever: You have a boolean value “is_outside = true;” and you ray cast from a XZ plane IN ANY direction you want from the camera position to the bounding side of the shape and everytime you cross a line between two vertices, you invert the is_outside boolean. THAT’S F***IN’ all there is to it! It’s so ridiculous. Tough I couldn’t implement it because I do not think it’s possible to ray cast using GLSL 1.5, prove me wrong if you like, I’d be pleased to make my code more efficient, I’m no expert in GLSL AT ALL but I still managed to implement another not so bad solution. Here it is:

[java]
bool is_outside = true;
int i, j;
for (i = 0, j = npol-1; i < npol; j = i++) {
if ((((arr_vertices[i].z <= position.z) && (position.z < arr_vertices[j].z)) || ((arr_vertices[j].z <= position.z) && (position.z < arr_vertices[i].z))) &&
(position.x < (arr_vertices[j].x - arr_vertices[i].x) * (position.z - arr_vertices[i].z) / (arr_vertices[j].z - arr_vertices[i].z) + arr_vertices[i].x)){
is_outside = !is_outside; // Notice this toggling, this is what I was talking about
}
}
return is_outside;
[/java]

I just want to say tough that there is a hard limit on most GPU, especially crappy/older ones and it tends to be 1024 on the low end, so that means that each lake would theorically be limited to 1024 vertices. My 2 lakes are using 6 vertices each, so as you can see there is room to play enough even for Intel GMA crap :stuck_out_tongue:

// #1: A view of 2 lakes not on the same Y-plane height and not the same shape

// #2: The same 2 lakes rendered using red pixels by the GPU to show the polygon boundaries

// #3: Same lakes, another view

Thx for reading me, TTYL :smiley:

5 Likes

whoa… nice!

A small video of my progress on my model. Here is the low poly model imported into JME, and playing the animations.
There is a lot af tweaking yet to do, and some wham bham Zham to add with the moves, but I’m fairly happy with the way he sheathes and unsheathes the weapons.
I did this with a combination of control, UserData to switch weapons from attachment nodes at the required time.
[video]AnimsBruk.avi - Google Drive

5 Likes

I’ve always been frustrated at trying to make 3D models. How long does it take you to perfect a model from start to finish? Is each model an art in itself or does it become “run of the mill” after a few successful attempts?

Well…it takes quite a long time, but yeah…they get better and better after a few tries.
Character models are quite complicated because they involve a lot of different phases (modeling, sculpting, retopology, texturing, rigging, animating)…and then a few more steps to tweak them into JME… :stuck_out_tongue:
I’ve been working like a hundred hours on this one until now…But I’m getting close to the end.
And the next one will probably be better…that’s the motivating part :wink:

Phhewww… just saw the models video, that’s a lot of work, congratulations for this Rémy. I wouldn’t have the patience to makes models like what you did, it’s impressive!

@nehon said: A small video of my progress on my model. Here is the low poly model imported into JME, and playing the animations. There is a lot af tweaking yet to do, and some wham bham Zham to add with the moves, but I'm fairly happy with the way he sheathes and unsheathes the weapons. I did this with a combination of control, UserData to switch weapons from attachment nodes at the required time. [video]https://drive.google.com/file/d/0B8E_ydpoOkOhV1g3OWFkRVFucjQ/edit?usp=sharing[/video]

Looks reallllllly good!

Nice models and animations @nehon! That’ really impressive…a lot of work too :stuck_out_tongue:
Do you use physics for pant flying parts or they are part of the model with a bone animation?