-
Notifications
You must be signed in to change notification settings - Fork 210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Collada model picking? #255
Comments
It's exactly the same. Just place your model's root node in the |
Hi @warrenseine, I have this simple code: auto daeModel = sceneManager->assets()->symbol(DAE_MODEL);
daeModel->layout(scene::BuiltinLayout::DEFAULT | scene::BuiltinLayout::PICKING);
root->addChild(daeModel);
root->addComponent(Picking::create(camera, false, true));
pickingMouseClick = root->component<Picking>()->mouseClick()->connect([=](scene::Node::Ptr node)
{
std::cout << "Mouse Click: " << node->name() << std::endl;
} Clicking it's not working... |
Sounds like the right way to do it. Does it work in your code if you replace the Collada model by a simple native shape? |
Yes working with simple native shapes on branch master auto ground = scene::Node::create("ground")
->addComponent(Surface::create(
geometry::QuadGeometry::create(sceneManager->assets()->context()),
material::BasicMaterial::create()->diffuseColor(vec4(1.f, .5f, .5f, 1.f)),
sceneManager->assets()->effect("effect/Phong.effect")))
->addComponent(Transform::create(scale(vec3(4.f)) * rotate(static_cast<float>(-M_PI_2), vec3(1.f, 0.f, 0.f))))
->layout(scene::BuiltinLayout::DEFAULT | scene::BuiltinLayout::PICKING)
;
root->addChild(ground); |
auto daeModel = sceneManager->assets()->symbol(DAE_MODEL);
daeModel->layout(scene::BuiltinLayout::DEFAULT | scene::BuiltinLayout::PICKING); Picking is done using a GPU picking map rendered by a You can define your own fileOptions->nodeFunction([](scene::Node::Ptr n)
{
if (n->hasComponent<component::Surface>())
n->layout(n->layout() | scene::BuiltinLayout::PICKING);
}
// load the dae with those options |
Thanks @promethe42 I will try this code and comment later. |
There are many things on that picture... what's supposed to be the collision shape? |
Hi @promethe42 again, collision shape is the blue-light cube, Of course touchable is clickable :-) |
Just add the picking component to that shape. What's stopping you? |
Hi @promethe42 thanks again for your support. One and mainly is my spare time to learn minko (minko is awesome technology) but I have had progress step by step :D |
Hi, reading much of minko code I found picking example to pick only primitive shapes like cube and spheres, what about collada model picking? How to do picking with collada 3d models?
The text was updated successfully, but these errors were encountered: