Wanted to see what this other rock texture would look like, and some of the 2D Cutouts I have.
I think I like this style better.
You are not logged in. Please login or register.
Maratis forum » Posts by zester
Wanted to see what this other rock texture would look like, and some of the 2D Cutouts I have.
I think I like this style better.
I just sent an email to anael to see if it is possible. Thanks.
This has been a neat adventure, learning programming and game development. I don't know how much longer I will do it, but I have learned a lot, and it may come in handy. I like to post tutorials so that other's who might want to learn can have an easier time.I am not savvy enough like you and com3d and 255 and anael though, haha. I was hoping I could potentially get a job in it, but it seems people are so much further ahead than I am that I would not even have a chance. haha.
Thanks Zester.
In Indie Game Development, the people who spend the money are the ones who cant "Program" and or "Produce there own Assets" that's where the money is. Those who make the money are the ones who write the "Tutorials", "Short Scripts", "Produce Assets".
Doing these things is like being a doctor, we will always need doctors. And trust me it takes a special type to produce the pieces needed to make a game.
I have a friend who makes a living off of making "Icons" and "Themes" for Android Apps, that's all he does and he makes a good living. It's very rare to come across a "Programmer" that is also an "Artist".
As far as being savy, learning to "Program" doesn't take long learning to be a great "Programmer" takes years. In regards to Art I have only been doing the art side for 2 years and that's only because I had to learn everything by my self. I do this for no other reason than pure enjoyment its my me time.
I would stick to it unless it's not something you really wan't to do, you defiantly have talent.
Note: Re-targeting BVH animations to a rig is not an easy task. I have had only limited success in my attempts, as have most. And you can sell your Makehuman models with your custom textures.
Looks pretty great, it's exactly that kind of terrain i was trying to make before i give up
Thank you and happy you like it.
At one point I was going to give-up on them to, but I am seriously hard-headed, so it's just not in my nature to quit. I am glad that I didn't.
Wow Zester! Really good! You are making me want to start a full project! Did you measure the terrain in Blender? I made a post on conversion factors where you can find the scale in Maratis.
Thank you also
I make you want to start a full project 0.0 lol good then that means I am fulfilling my self designated purpose here on the Maratis forums.
Each Grid is made up of 4 Planes with a Total of 16 Planes overall. What I showed was only one grid. Each plane is equal to the "Blender Grid Plane" <- the grid in blender we normally model on case you didn't know. I didn't have to do any Blender Scale to Maratis scale conversions because of how large my textures are, around 4x larger than a 21inch Wide Screen LCD Monitor. As long as there is no blurring or pixelation it shouldn't matter. But I might have to pre-scale everything after for other reasons idk not worried about it right now. The focus for the moment is on Polycount and Texture Resolution.
And we have some new 2D Cutouts for our Desert Terrain.
You should put your tutorials in the wiki also, so they don't get lost. As a programmer you get an A+ in your explanation of a BOOLEAN. You even added a touch of humor.
Wow, I like everything you got going on here. The models are really nice, I even get a spooky feeling from it lol.
Doing some exploratory texture painting, and I think our terrain is going to look grate. This is only the diffusemap, I wonder what a normal map is going to look like.
I finally got a good solid hold on this terrain creation tutorial, see terrains are hard because there one of the largest item you will have in your game, and if there polycount is to high you have no room on your graphics card for anything else. Also the resolution of there textures is critical, if you don't have a high enough resolution your terrain will look blurry and washed out.
And even after you solve the Polycount and Texture Resolution you will more than likely find that your terrain is to small.
What you are seeing here is part of my terrain grids, are made up of 16 plain's subdivided 6 times with a total of 118,235 triangles.
there are 4 planes per grid with a total of 4 grids.
the section that is missing is the one I am working on now. This is just the "Above Ground" terrains, we have another 16 for the
"Below Ground" subterranean terrain.
The following 2 screenshots are of different views for Grid1, and is made up of a total of 19,931 triangles. We can see the seams because I need to stitch these 4 terrains together and then re-cut them so when put together they look seamless.
If you look hard you can see our Horse and Character at this distance they show a scale reference of the terrains.
I am going to make a few different versions of this, a "Dessert, Tropical(Path is a River), ...."
Here is a Horse and Character to use as a scale reference, Grid1 looks small but its really not. The AO maps currently on make the terrain look alot smaller than it is. With proper textures this place will look and feel huge.
Here is a "small" cave I am randomly placing these on the map.
Here is a "short tunnel" that leads you into the next screenshot.
Notice the cavern in the ground this takes you to the "Subterranean Level" that's 4Grids large so its huge.
This can be anything, a volcano, a giant bug hill with monster ants or spiders.
This terrain took about an hour to create by hand, so not to long, the polycount is just right, it tiles and the texture maps are 4096x4096 so we should get a really nice high res surface details.
I have been collecting 2D cutouts for years, and I try only to acquire free high quality cutouts, I just uploaded 56 of them the other day and am in the process of adding them to the wiki. We can place lots of vegetation all over our scene.
As a reference to there quality this is on of the smaller ones its 1053x1531
Okay, I will look into that, Thanks 255.
Adding a little more to the discussion:
Clothing:
After looking at my stage level, I am wondering how I would go about changing the clothes of the character and still have them animate.
The idea I have is to not change the entire character, but just export the character body and the character's clothes as two separate meshes and then parent them. The clothing mesh would still be animated at the same pace as the character.
Another way I am thinking of doing it is by animating an alpha material. I have noticed that in the mesh file, there is an opacity value for each material. I wonder if this could be animated in Lua. It seems it would have to be done in C++ on the engine level.
I decided to research your question out of interest, and came across this...
I model each pieces of clothes in the same model file (blender), to include animation you need to make sure that the pieces of clothes are attached to the same armature of the model and correctly weighted
in Unity after importing my model, I just disable the mesh renderer for the clothes that must be hidden. Since the invisible parts are not rendered, performance is not affected.
when you play the animation, if the clothes were correctly weighted, they naturally follow your mesh
So basically he is saying, he puts all of the clothing on the character and hides all of the clothing but the outfit he wants to wear. And because all of the addition clothing are hidden there not being rendered so there is little or no performance loss.
To change clothes he just toggles the visibility of what he is wearing and what he wants to change into.
That sounds feasible My guess would be in maratis we would populate a table with instances of the child objects(clothes) of our parent object(character) then toggle there visibility.
Don't know if it will work, dont know what you have tried, but hay its another set off eyes on the problem.
Note it looks like setVisible() hasn't been wrapped for Objects yet, at-least I didn't see it in the wiki. Haven't tried in maratis eather.
// visibility
inline void setVisible(bool visible){ m_isVisible = visible; }
inline bool isVisible(void){ return m_isVisible; }
virtual void updateVisibility(MOCamera * camera){}
If its not there is should be fairly easy to wrap that particular function. I also wonder if updateVisibility is also needed? If so dealing with pointers in a binding is a bit more complicated.
My animation woes are solved! I was digging around on a hardrive of mine and I found out I still have a copy of Poser 8!
So, my workflow for game animations is solved! I use Poser 8 to make a BVH animation. Export it from poser. Then I import the BVH file into a Blender file that has my rigged Makehuman character in it. I then use the COPY ROTATION bone constraints and BAM!
Poser makes it so easy to animate. I can animate any figure in poser and save the animation out as a BVH file. Blender handles the BVH file very well. I think the best armature to export out of MakeHuman is the GameRig armature, as it is a simple rig.
Edit: Turns out it was my rig that works out better than the Makehuman rig:
http://forum.maratis3d.com/viewtopic.php?id=764
And just as I was about to announce that I had solved my Animation problems also, hehe finally figured out how to easily do Walk, Run, Sneek, Creep, and a thousand other types of walk cycles from scratch in Blender. We will have to make some tutorials one on Mocap BVH and one on Traditional Style Animation.
I will start using the rig you posted in your link as my templet.
And here is the latest version (I'll submit it in the tracker soon as Windows test will be complete):
I am going to have to wait to test, looks like there are some additional premake4.lua scripts needed (freeimage, and a couple of others I take it.).
Very nice com3D and thank you for taking on premake and getting it to build Maratis for us. I tried for awhile but the thirdparty libs gave me alot of trouble, not use to that as a linux user.
The code I've posted is not LUA.
My bad your correct its C, It looked like Lua at first glance. I just read it to see what you were trying to do. Didn't notice you declaring types and the C++ "//" comments sorry. But regardless the info posted is still relevant.
zester wrote:You do know that when you start messing with the pivot point your bounding box for each object modified is going to change its scale and transformation right?
Not when you use the collision shape convex-hull.
You should more carefully read my posts BTW. You missed this important part:
start the physics context and enjoy how everything is working fine and the forearm swings
Which, in other words, means that my ragdoll code WORKS.
The problem is only when the mesh is a bit rotated (not facing the axis perfectly).
If I use a forearm mesh correctly rotated then my code does work. But I want my game to be able to accept and adapt to any meshes.Normally you wouldn't even use a ragdoll in a game, they exist for...
You are again forcing me to say "I know my stuff". I can't write yet another wall of text just to explain all my project goals. This topic is just to ask specific help on a very specific task.
What you want doesn't have lua bindings yet "MArmature" and "MSkinData" I think "MSkinPoint * m_points;" is the Bone's Transformation Matrice. If so thats what you would be wanting to tweek I do believe.
How is your C++?Again, you have not read my posts carefully, since it's obvious that I'm using C++ and nothing else, with MArmature, MBones, etc.
This time you missed another line:update the skeleton to match the rotation of the ragdoll part
This isn't a pissing contest, don't take anything I am posting to heart, I post the information regardless if you know it or not, for myself and others to look back on. Someone might come along who's messing with ragdolls has a problem but doesn't particularly want to solve it the same way you are.
The code you post above was lua, that doesn't translate into "I am only using C++ and nothing" else that translates into "My lua code isn't working" if you already know about "MArmature" and "MSkinData" and are using C++ then you should know how to solve your problem. I posted every last bit of info I had on the topic.
Anael is the only one here who might be able to help you.
A drawn diagram of what you want to do would help me. I'm sorta okay at calculus, but personally I like to find the easiest route. I don't get what you are trying to do.
When you say "offset rotation" what do you mean? And when you say you want to use the rotation "between" two objects, what do you mean?
Are you doing some sort of pendulum motion that has one object following the same rotation of a other, just offset by a certain angle?
For example, objec1 swings and then object2 swings just like object1, but the timing is offset?
Hmm, reminds me of that joints project that used behaviors to make a rag-doll looking effect.
Also, if the rotation is local, to the joint, why would it rotate the whole mesh?
You are where I was two post ago TD lol, he wants to modify the rotation of the bones for his ragdoll cause its not looking right when it jiggles around.
zester wrote:Ohhh and Mr I know my stuff
With "I know my stuff" I just meant that I know that you can change the origin in Blender but I really needed to change it via code. I just meant that, sorry if it sounded snob. It was a way to say "yep I know you can change it Blender but I really need to do it via code".
zester wrote:The problem with your code is your trying to rotate an object from a pivot point that doesn't exist. I know you think you created it but you didn't.
Thanks for the input.
But I think that the pivot does exist.
I'll try to give more information.
What I'm trying to do is to create a complex ragdoll which loads a mesh as the bounding box for every part.
What I'm doing is this:say you have a lower arm and two bones, elbow and wrist create a ragdoll part set its origin the same as the wrist bone set the part position in the position the same as the wrist bone minus the elbow bone set the pivot constraint = position of elbow bone update the skeleton to match the rotation of the ragdoll part start the physics context and enjoy how everything is working fine and the arm swings
but problem: if your ragdoll part mesh which is the lower arm is a bit rotated (in the mesh file), then your skeleton will rotate wrong. This is why I'm trying to add to its rotation an offset rotation.
Or I could rotate the mesh itself, but this seems way harder.
I mean your pivot exist just not ... never-mind doesn't matter.
You should have just said "Ragdoll, Code, Not Working, HELP" lol
I now see what your saying. Both solutions are incorrect thou, you wouldn't want to do ether. You do know that when you start messing with the pivot point your bounding box for each object modified is going to change its scale and transformation right?
Thats why I was say no no no no don't do that. Cause it will really mess with your physics. And then your ragdoll will really look bad.
Normally you wouldn't even use a ragdoll in a game, they exist for the purpose of recording a keyframed animation in your 3d package(blender) allowing you to simulate the physics of beating the crap out of a character to play back at a later time.
What you want doesn't have lua bindings yet "MArmature" and "MSkinData" I think "MSkinPoint * m_points;" is the Bone's Transformation Matrice. If so thats what you would be wanting to tweek I do believe.
How is your C++? I would say put in a request.
I am half tempted to just re-implement the lua bindings using luabind would only take a couple of hours to wrap maratis entire codebase.
I appreciate your help attempts, but please now don't go off-topic. ^ ^
I know my stuff, I need to edit the mesh via code because I'm trying to do complex things and so the mesh must be manipulated by my game and not manually using Blender or other tools.
If you can find what's wrong in my above code, then post.
Thanks.
The problem with your code is your trying to rotate an object from a pivot point that doesn't exist. I know you think you created it but you didn't. And it cant be done that way anyways. You do have some of the needed math (convert Degree's to Radiant and Divide Pi by 180 Degrees and Translate your Objects X, Y and Z Position in a loop) you need to calculate the path(X,Y and Z) and move your object along that path. You cant create an "offset" and try to rotate your object using it, because it doesn't actually exist. An Origin is actually two objects parented to each other. You then rotate the parent(origin) object.
You need a Tweening Library.
Other than that your code isn't going to work.
Ohhh and Mr I know my stuff your question, and even similar code examples have been posted in the past here on these vary forums. Thy knew there stuff two apparently, we need "Rotation Offset" in the freaking FAQ, with Diagrams on Why, Why Not and Alternative Methods.
I have been trying to create a script that lets me toggle through characters. I know I have to use a table, but I want to be able to just add any new character object to the table and be able to toggle it. I haven't been able to find out how to use for and while loops in maratis without it crashing (guess I don't understand how the onSceneUpdate function works as it relates to loops.
I haven't tried it yet but chances are you need to use Lua Coroutine's(Multithreading) OpenGL is single-threaded it can only run one process at a time, same with most things in regards to computers. One of two things is going to happen when dealing with pointers(objects) in this case eather A. The program freezes until the process is complete or B. The program crashes.
But then again when Mixing C++ and a Scripting Language(Lua) a program operates completely different than when using one or the other. Anyways Coroutine's ...
http://lua-users.org/wiki/CoroutinesTutorial
http://www.lua.org/pil/9.1.html
Well, I just dealt with origin points myself. And I think one reason it would help to know if it can be done in code is the fact that after a maratis mesh is made, there is no way to edit it otherwise (no blender importer)
I would have to have the original .blend file or something to adjust anything about it.
A blender (Mesh) importer wouldn't be that hard to write, provided you had experience writing blender plugins. The (mesh) format is just simple xml.
I couldn't find any reference or detected changes to my two (mesh) files when I made changes to my cubes origin. You might want to put in a feature request for an addition to ...
<BoundingBox minx="-1.000000" miny="-1.000001" minz="-1.000000" maxx="1.000000" maxy="1.000000" maxz="1.000000" />
Such as ...
<BoundingBox ...>
<Origin x="" y="" z=""/>
</BoundingBox>
That reminds me we need an xml binding for lua.
Bump :3
Just a hint would be ok.
I am not sure I understand the logic behind wanting to change the origin of your model via code, if you use blender just move your model in edit mode and you change its origin, its as simple as that.
Example: Your origin will most likely always be the center point of your models bounding box, in the case of a door just go into edit mode select all faces and move your model on its "x" axis until your origin point is at the edge of your door. Go back in in object mode and export to maratis. Now your door will rotate on the z axis as if it was on hinges.
Even is cases where the origin of your model might change to different locations you would ether load a new model or just animate this behavior.
But doing this in code if not done right can mess all kinds of things up "Motion, Physics, Collision Detection"
I don't have a code specific solution for you as this isn't something I tend to see people wanting to do on purpose, but maybe the above suggestion might help?
Are you uploading your premake scripts some-wheres? I want to look at adding network(enet?) support tonight. And see about getting Maratis in Qt4 QGLWidget.
I have a friend addicted to video games(don't we all) he will pay $65-$70 to buy the game and then has to pay a weekly or monthly subscription just to play it? Something just feels really wrong with that.
Anyways I am not particular to "violent" video games or even "modern" video games, I like the classics.
But I will say I do like "Survival Horror" or "Horror" in general, and the violence that comes with that. Ever seen "Tales from the Crypt", "Friday the 13th", "Halloween", ... something about getting comfy on the couch and eating popcorn watching horror flixs is oddly comforting.
Then again I am an American and by Nature our society is somewhat numb to senseless violence. We even have a holiday dedicated to it lol
This weekend I took my 7 year old daughter on a "Haunted Hayride", not even an "Evil Clown" with a "Real Chain Saw" chasing her threw a cornfield could get anything more than a "Ehhh it was ok dad, not very scary" out of her.
In regards to "Educational Games" there is an entire untapped market there if that's something you enjoy doing, particularly here in the US. More American Parents are home schooling there children or utilizing whats called Virtual School. Mainly do to the US public Education System not being very good or a very safe place.
Well that's all I got
Is IRC still used by people? lol
I am on sometimes, but I have only ever seen Nistur there.
I think my assumption of the meaning of Maratis name came from ....
Anaël Seghezzi is a French animator, painter and software developer.
He is best known as the creator of the open-source 3d game software,
Maratis, which he started working on at the age of sixteen.As an art and technical director for video games and animation films, Anaël has the unique ability to work across disciplines – fusing technical wizardry with artistic skill. In 2009, he was one of 11 international artists chosen by the Cité Internationale de la Bande Dessinée et de l’Image for their artist-in-residence program in Angoulême.
Congrats Anael my brain thinks of you as a famous french artist.
If I remember correctly Maratis is named after a Famous French Artist.
Here take a look (This is the one I showed you above)https://zester.googlecode.com/files/platform3.blend.zip Note: I didn't include the textures for two reasons 1. There going to be redone and 2. There to big my internet connection is really really bad worse than dial-up.
Here is the start of one.
This one for some reason gives me a outdoors scene "futuristic city half in the ground feel" or a "sci-fi first person shooter(Halo)"
Maratis forum » Posts by zester
Powered by PunBB, supported by Informer Technologies, Inc.
Currently installed 3 official extensions. Copyright © 2003–2009 PunBB.