Hi,
the easiest way is to use a QObjectPicker component on your entity. By
default this uses raycast picking against the bounding sphere of your
entity's mesh. If this is not precise enough for you, you can enable
triangle-ray intersection testing by way of the QRenderSettings or you
can attach your object picker to a child entity with a smaller mesh.
Cheers,
Sean
On 06/07/2016 09:26, Edward Moyse wrote:
Hi all,
I’m trying to play with Qt3d (in Qt5.7), and I'm struggling with the
lack of documentation and/or tutorials (and so I apologise in advance
if this is an obvious question).
What I wanted to test is how easy it is to click in the 3D view and
select an object.
If I understand correctly, I should do this using a QMouseHandler and
add this to the entity.
To test this, I modified the basic shapes example as follows:
in the initialisation list of SceneModifier I added:
m_mouseDevice(newQt3DInput::QMouseDevice()),
m_mouseHandler(newQt3DInput::QMouseHandler())
and in the rest of the ctor it now looks like:
m_mouseHandler->setSourceDevice(m_mouseDevice);
//Sphere
m_sphereEntity=newQt3DCore::QEntity(m_rootEntity);
m_sphereEntity->addComponent(sphereMesh);
m_sphereEntity->addComponent(sphereMaterial);
m_sphereEntity->addComponent(sphereTransform);
m_sphereEntity->addComponent(m_mouseHandler);
//QObject::connect(mouseHandler,SIGNAL(clicked(Qt3DInput::QMouseEvent*)),
//this,SLOT(clicked(Qt3DInput::QMouseEvent*)));
QObject::connect(m_mouseHandler,&Qt3DInput::QMouseHandler::clicked,
this,&SceneModifier::clicked);
And I also added a new method:
voidSceneModifier::clicked(Qt3DInput::QMouseEvent*event)
{
qDebug()<<"clicked!";
}
However the function never gets called - I suspect I’ve missed
something very obvious, but if so I’d really appreciate any tips
and/or links to anything else to read.
Cheers,
Ed
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest