301

(6 replies, posted in General)

it's here : http://www.maratis3d.org/?page_id=57 (Blender plugin)

then follow this tutorial : http://www.maratis3d.org/?p=277

302

(1 replies, posted in Gossip)

Thank you Tutorial Doctor

303

(2 replies, posted in Editor)

shadow map techniques will alway have some sort of loss of precision,
you have to play with blur, bias and cone angle. More the cone angle is large and more it will loss precision.

304

(1 replies, posted in Gossip)

it's only for file download hosting, not source code hosting,
so for now it's not a problem.

305

(2 replies, posted in Engine)

Hi, welcome !

M_DATA_MODES has two implemented modes that can also be accessed from the editor in the scene properties (static or dynamic).
Static mode pre-load all scenes data from the level, when dynamic loads only the current scene of the level, and release the memory when you change scene. "Streaming" is actually not implemented yet.

nice !

307

(36 replies, posted in General)

bone->setRotation(targetBone->getRotation()); will work only if both bones are not parented or if they are linked to the same parent.

Because otherwise they are not in the same space, and you need to use the code I gave you (that use the inverse matrix of the parent if there is a parent).

308

(36 replies, posted in General)

Probably something like that :

// targetBone is the bone to copy the transformation from
// bone is the bone to copy the transformation to
// the two bones need to be in the same armature

MMatrix targetMatrix = (*targetBone->getMatrix()); // get target bone matrix (in armature space)

// if "bone" is linked to another bone
MObject3d * parentBone = bone->getParent();
if(parentBone)
{
    // calculate target matrix in parentBone's space
    targetMatrix = parentBone->getMatrix()->getInverse() * targetMatrix;
}

// get position and rotation coords from targetMatrix
bone->setPosition(targetMatrix.getTranslationPart());
bone->setEulerRotation(targetMatrix.getEulerAngles());

What is important is to know what space you are, world space, armature space or parent space.

309

(36 replies, posted in General)

are the two bones in the same armature ? or not necessary ?

310

(4 replies, posted in Engine)

for MGui1 (trunk version) the lowest level is :
MGui/Sources/WIN32 for windows
MGui/Sources/X11 for linux
MGui/Sources/COCOA for osx

then it's Maratis/Common/MGameWinEvents.h and Maratis/Common/MInput/MInput.cpp

311

(4 replies, posted in Engine)

If you have the event (which won't work for Numpad +)
you have to call input->createKey("MyKey"); in the plugin init
and then downKey("MyKey"); and upKey("MyKey"); depending on your event.

Numpad + is not recognized as a separate key in MGui-1,

but let's say you want to add "INSERT" that exist as a separate key and is missing from the input context :
open Maratis/Common/MGameWinEvents.h (in getKeyName, add MKEY_INSERT event returning "INSERT")
open Maratis/Common/MInput/MInput.cpp (in the constructor, add createKey("INSERT"))

312

(16 replies, posted in General)

good smile

313

(16 replies, posted in General)

when you are using the editor with the mouse, for example to move an object or to rotate the view, is it slow too ?

314

(16 replies, posted in General)

I'm not sure what the problem is,
it could be a system code specific, or a gesture recognition problem.

In case it is related to the gesture in windows 7 try to check the mouse properties :
-Go to the Start > Control Panel > Mouse
-Click on the Pointer Options tab
-Ensure that Display Pointer Trails, Smart Move, and Acceleration in Games options are disabled (some of these options may not be displayed, depending upon which version of Windows you are using)
-Exit the Mouse Properties window by clicking OK to save your changes

or :
-Open Control Panel > Hardware and Sound > Pen and Touch.
-In the menu that pops up, click the "Pen Options" tab at the top.  A list of Pen Actions and their mouse equivalent should appear.
-Select "Press and Hold" and click "Settings..."
-Uncheck the box that says "Enable press and hold for right-clicking" and press "OK".
-Try to disable other options

315

(16 replies, posted in General)

ok,
can you try this fix : http://forum.maratis3d.com/viewtopic.php?pid=4577#p4577
(modifying centerCursor())

316

(16 replies, posted in General)

Hi, it seems related to the mouse update.

Are you on linux by any chance ?
because there is a similar topic here with a fix : http://forum.maratis3d.com/viewtopic.php?id=724

317

(4 replies, posted in Off-Topic)

No, it's a long time I didn't get any news too.

Hi,

there is no mechanism right now to apply different materials to a mesh instance,
it should be added, but right now you have to duplicate the mesh, for example by creating meshRefs manually :

getGlobalFilename(filename, workingDir, "meshs/point.mesh");

for(i=0; i<nbPoint; i++)
{
    MMeshRef * meshRef = MMeshRef::getNew(NULL, filename);
    level->getMeshManager()->addRef(meshRef); // manually add the mesh ref to the level
    meshRef->update(); // actually load the mesh
    ent = scene->addNewEntity(meshRef);
    // change the material here
}

319

(15 replies, posted in General)

The correct word here in this context is "Instance", it means the mesh is in memory only once.

"Proxy" is used in 3dsmax to import data from another file with an active link to it (in blender it's called a "linked copy"). It means what you manipulate in the scene is a substitute of the linked file, so if you change the linked file, the substitute change. A Proxy is an Instance (however an Instance is not necessarily a Proxy).

So technically a Maratis Mesh is a Proxy and an Instance as it points to an external file and is not duplicated in memory.

I encourage you to read Richard Williams book "The Animator's Survival Kit",
or the DVDs (more expensive).

Here an extract about horse animation :
http://youtu.be/INQx-Lzs8mU

I think it's a bug, I did replicate it,
it happens if deactivate is called inside scene update, I'm not sure why,
(it works if deactivate is called before scene update).

I'll try to track that down wink

322

(15 replies, posted in General)

In the engine all meshs "copies" are instances,
so a clone doesn't take much memory, only the entity information (small).

323

(10 replies, posted in General)

collada exports bones, animations, materials etc
all are supported by the Assimp loader.

324

(10 replies, posted in General)

hi,

can you post an issue in the issue manager there ?
https://code.google.com/p/maratis/issues/list

with a blend file that crash the script in attachment.
thanks.

325

(4 replies, posted in Engine)

I'm on xcode 4.5.2 and sdk 10.8 (but using 10.6 target) so I don't have access to the same deprecation.

We want to keep the compatibility for 10.6

First, in xcode 5 with sdk 10.9, do you still have the "OSX Deployment Target" with "10.6" option ?
Because code could be corrected for 10.9 sdk but still be binary compatible for 10.6

I'm not very surprised there is errors in Assimp
but I'm surprised there is errors in Glee and DevIL.

Maybe you can try to compile in C++98 instead of C++11
And, try to force the compiler to use OSX SDK 10.6, or at least 10.8 if they are installed.