Jump to content

  • Log In with Google      Sign In   
  • Create Account


TheGoozah

Member Since 17 Nov 2011
Offline Last Active Jun 09 2013 11:21 AM

Topics I've Started

Map PhysicsBones to ModelBones for Ragdoll (PhysX and DirectX)

20 March 2013 - 10:11 AM

Hey gamedev,

 

for a college project I need to create a ragdoll using DirectX and PhysX.
I'm still in the first phase of laying out the structure for this ragdoll. At this moment I'm trying to map
actors to the bones that are imported together with mesh data. The problem I have at this moment is
that I can move my actor to the position of the bone (all offsets + world = worldmatrix).
But when I want it to follow the animation, my bone gets translated and rotated (axis) correctly, but my shape
doesn't rotate. Only the axis changes.

This engine is an engine written by some teachers, so I can't share it here. Also, the architecture is still
rough. Here are some snippets of where the issue is.

 

I hope this is a know issue and someone can help me with this one! It is pretty important for my project.

 

Thank you in advance guys/girls!!

void PhysxBone::MapToBone(MeshFilter* pMeshFilter)
{
       //........................
	m_matModelSpace *= m_pBone->Offset;

       //..................
	D3DXMATRIX world;
	D3DXMatrixIdentity(&world);
	m_matWorldSpace = m_matModelSpace * world;
}

void PhysxBone::Update(D3DXMATRIX matKeyTransform)
{
	m_matWorldSpace = matKeyTransform * m_matModelSpace;

	NxMat34 nPos;
	PhysicsManager::GetInstance()->DMatToNMat(nPos, m_matWorldSpace);
	m_pActor->setGlobalPose(nPos);
}

void PhysicsManager::DMatToNMat(NxMat34& NxMat, const D3DXMATRIX& D3DMat)
{
	NxVec3 vTmp;

	vTmp = NxVec3(D3DMat._11, D3DMat._21, D3DMat._31);
	NxMat.M.setRow(0, vTmp);

	vTmp = NxVec3(D3DMat._12, D3DMat._22, D3DMat._32);
	NxMat.M.setRow(1, vTmp);

	vTmp = NxVec3(D3DMat._13, D3DMat._23, D3DMat._33);
	NxMat.M.setRow(2, vTmp);

	NxMat.t.set(D3DMat._41, D3DMat._42, D3DMat._43);
}

 


Setting up Collada DOM 2.4.0 in VS 2010

20 July 2012 - 08:05 AM

Hi!

Ok, this is a strang question for me because I've never had problems setting up an API. Well a first time for everything I guess...
I want to write my own daeParser using the Collada DOM...

But I'm confused how to set it up.... I downloaded the collada-dom-2.4.0.tgz file and unrarred it (link: http://sourceforge.n...lada-dom/files/). I also downloaded the documentation and took a look at the wiki page...

The documentation only says to do the following thing:

• To the “Additional include directories” field, add:
<COLLADA_DOM-path>\include
<COLLADA_DOM-path>\include\1.4

• Under the “General” tab in the “Additional library directories” field, add:
<COLLADA_DOM-path>\lib\1.4
<COLLADA_DOM-path>\external-libs\libxml2\win32\lib

• Under the “Input” tab in the “Additional dependencies” field, add:
libcollada_dae.lib
libcollada_dom.lib
libcollada_STLDatabase.lib
libcollada_LIBXMLPlugin.lib
libxml2_a.lib
iconv_a.lib
zlib.lib



But the \lib folder doesn't exist... Then I read the wiki and it says (http://collada.org/m...isual_Studio.29):


Building the DOM
Project and solution files for Visual Studio are in
<dom-path>\projects


When I try to build the project (vc10-1.4 or vc10-1.5) I get an error (for each file): Unknown compiler version - please run the configure tests and report the results

So basically, I don't know what to do now? How can I get the necessary lib files? Do I need to build them myself and how? Am I missing something? I really need a solution because I need to be able to parse .dae files so I can use them with DirectX and PhysX!

Thanks in advance!!

Best way to load a mesh

23 November 2011 - 10:49 AM

Hello,

I'm a college student which focuses on game development. At the moment we are learning DirectX. This week we had to create a OBJ parser for reading .obj files into a mesh.
Our teacher said this wasn't an easy topic and a .obj parser is heavy for in game use. This made me wonder, what is the best way to load a model into an engine?
How do programmers in the industry do this? What's the standard today?

PARTNERS