(5 replies, posted in Scripting)

Maybe it's because your Move() function expects 5 arguments and only 3 are passed.


(3 replies, posted in General)

In NotePad++:
Menu: Settings > Preferences > File Association > public script > .lua > click on '->' button
That's it.


(13 replies, posted in Engine)

Sorry, forgot to add that the script must be saved as 'premake4.lua' (posts edited)


(13 replies, posted in Engine)

Yes, with this script you can build plugings for linux using make or Code::Blocks.

This script must be saved as 'premake4.lua'

First download latest Premake (currently version 4.4) and put it in your Maratis project folder.
Then put the premake script template in this folder and modify 2 lines:
    - replace MSDK/ in msdk = "MSDK/" by the path to your Maratis MSDK folder
    - replace PluginSources in sources_folder = "PluginSources" by the name of the folder containing the sources of your plugin

In your Maratis project folder, create a bash file (a text file with .sh extension) with this content:

./premake4 codeblocks

Executing this bash file (by clicking it) will generate the Code::Blocks project files for you.
Alternatively use the console to go inside this folder and then type the code above.

For building using make, create a bash file with this content in your Maratis project folder:

./premake4 gmake


(13 replies, posted in Engine)

Just a precision, MCore.so & MEngine.so are not required on linux as no linking is required.
You just need MSDK headers (includes). Look http://forum.maratis3d.com/viewtopic.php?id=825]here for more details.


(1 replies, posted in Engine)

You have to checkout the source with a subversion client.
See http://code.google.com/p/maratis/source/checkout for details.


(3 replies, posted in General)

For network using kNet, you can take a look at https://sites.google.com/site/maratis3d/home.


(1 replies, posted in Engine)

Hi and welcome,

Try symlink/copy libopenal.so.1 to your Maratis folder.


(2 replies, posted in Scripting)

In lua you can use the isVisible(object) function.


(16 replies, posted in General)

inform880 wrote:

Any ideas on how to boost the FPS?

Not really a good solution, but you can try to call onSceneUpdate() just after setRotation(...).


(4 replies, posted in Off-Topic)

Does anybody know what happened to Nistur?


(14 replies, posted in Tutorials/Examples)

Tutorial Doctor wrote:

Hmm. I try to click on the link to the file and I get a website about free teeth cleaning.

What url shows up when you are hovering ?


(14 replies, posted in Tutorials/Examples)

Looks promising... big_smile


(14 replies, posted in Tutorials/Examples)

You can use Bsurfaces.
See video at about 15'.


Is there a way to update physics (or something equivalent) for an entire level when using the deactivate function?

For example, using Jules demo:
- if we put 2 crates on top of each other and deactivate the lower one, the top one stays floating in the air (instead of falling)
- if we deactivate the room ('Set'), everything else is floating in the air instead of falling


(10 replies, posted in General)

One thing to also keep in mind is that the mesh modifiers are automatically applied.


(15 replies, posted in General)

Maybe "instancing"?


(10 replies, posted in General)

Blender 2.69 introduces a new FBX importer in its trunk, currently with severe limitations: only static meshes + binary format + version 2013. Hopefully a first step to full support...

Collada is intended to be a standard, but unfortunately you might often have issues, as more advanced features are not interpreted in the same way by different parsers, so weird results are possible.

Blender Maratis exporter is robust and allows to work seamlessly with Maratis. Related Wiki is self-explanatory. Maybe we could add a few tips and a checklist for easy "debugging", some things like "mesh has a material assigned?", "a mesh is selected?"...

For those who can't use Blender or have issues converting meshes, there is Noesis, a great freeware both versatile, robust and in constant development. Its only flaw is that it triangulates the meshes, but you can later switch back to quads in your favorite app.

For issues, maybe the tracker is not the best place as they are more likely due to user, not bug in themselves.
So we could do something like :
- submit an export issue in this thread with full console report, steps to reproduce the issue and if possible a blend file
- the community gives answer and update the wiki
- if a bug is actually discovered, we push it in the tracker, with a corrective patch if possible
In this way we won't overload Anaël and the community will get involved.


(9 replies, posted in General)

Instead of detecting the ledges, you can also create a simplified invisible physics cage (built onto the object to climb) to restrict the movements in all directions and to match the topography and available ledges. In this way it requires no triggers. And for angles, the friction should make the player rotate by itself.


(9 replies, posted in General)

And for dynamic/procedural/non linear animations, you need to implement a library of this kind.


(9 replies, posted in General)

And if you need a very accurate collision detection (for example to check when a fist hits something), you can use the getCurrentFrame() function in addition to the overall collision detection:

if isCollisionBetween(player, object) and getCurrentFrame(player)==124 then ...

This allows to fake body-parts collision detection in lua.


(9 replies, posted in General)

One easy way to solve the problem is to use ghost colliders (invisible planes/boxes with ghost physics).

You put a collider just in front of your obstacle (on the floor, on a wall...) and when the player hits it (collision detection) this triggers a specific action/animation.

So for example for a wall climb, you put a collider on the floor that triggers a climb (automatic or if combined with a key press) and one on top of the wall that triggers a transitional animation.


(18 replies, posted in Engine)

zester wrote:

I have ARM v4, 5, 6 cross-compiled toolchains already for Maratis once I have an ARM v7 toolchain
then Maratis will work on every mobile Linux device that support OpenGL ES out of the box.

Now that we can use this build system to generate makefiles, we can easily use the Android NDK toolchain to compile the libraries for Android. From what I understand, we would then have to interface these libraries with a java activity.

In fact the torch in Jules demo is an armature animation (whith a bone), but it could have been done with a texture animation either.