Author Topic: 3D model - realtime manipulation  (Read 12040 times)

Offline Caio

  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
on: June 10, 2008, 09:33:39 PM
Hello!


I don't know if this topic was discussed here before, probably yes, in this case I say sorry for living the undead topics. I tried to look over some discussions but I only found advanced stuff.
Well, I as much of yours, have watched to Johnny Lee's videos.
I work already with C# and I have some 3D background so I got really curious when I found that using the Wii controler is possible, interacting with softwares.
My idea is to make a program that loads a model from 3Ds which has a skeleton, like a foot and then put some leds on a sock and them manipulate the foot in real time, using the Wii controller.
So my question are:

- Is that possible? I mean the skeleton animation - some guys told me that XNA would be the best thing to interact with 3D

- Does the Wiimote (Wiilib) retrieves me the X, Y and Z points so I can work all coordinates of the 3D space, if so, how is that done?

Thanks in advance!



Offline richwhite

  • *
  • Posts: 50
  • Karma: +2/-0
    • View Profile
    • Edusim
Reply #1 on: June 10, 2008, 10:00:21 PM
Might want to give Edusim a shot - http://edusim3d.com

[youtube]http://www.youtube.com/watch?v=uVFsxev-2sk[/youtube]

Rich
The Edusim Project

http://edusim3d.com


Offline Caio

  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Reply #2 on: June 11, 2008, 07:18:01 AM
Might want to give Edusim a shot - http://edusim3d.com

[youtube]http://www.youtube.com/watch?v=uVFsxev-2sk[/youtube]

I'll take a look on it (currently downloading).

Please, could someone answer the main questions that I presented?

Thanks.



Offline davemacd

  • *
  • Posts: 18
  • Karma: +0/-0
    • View Profile
Reply #3 on: June 11, 2008, 01:55:30 PM
An interesting idea.  Let me say that I think it would be possible, but it would not be easy.

The IR camera on the wiimote is capable of tracking 4 points (IR sources).  These are communicated as XY coordinates via bluetooth.  One of the biggest issues (this comes up in some Wii games) is that it cannot tell where the IR source is in 3D space.  One solution would be to use two or three remotes together.  With a careful and consistent setup, you could use the XY coordinates from different IR cameras to determine a precise point in 3D space of an individual IR source.

The other issue is that of the IR source itself.  The wii remote has no way to distinguish between different points of IR light.  That is to say, if a foot had several sources of IR light, the remotes would not be able to tell which was which.  In my experience, the remote will consider the first dot it finds to be dot 1, and the next to be dot 2, and so on.  So you can control this (by turning on IR sources in sequence) between several remotes only if all dots can be seen by all cameras at all times.

Does this answer your questions?



Offline Caio

  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Reply #4 on: June 11, 2008, 03:14:50 PM
An interesting idea.  Let me say that I think it would be possible, but it would not be easy.

The IR camera on the wiimote is capable of tracking 4 points (IR sources).  These are communicated as XY coordinates via bluetooth.  One of the biggest issues (this comes up in some Wii games) is that it cannot tell where the IR source is in 3D space.  One solution would be to use two or three remotes together.  With a careful and consistent setup, you could use the XY coordinates from different IR cameras to determine a precise point in 3D space of an individual IR source.

The other issue is that of the IR source itself.  The wii remote has no way to distinguish between different points of IR light.  That is to say, if a foot had several sources of IR light, the remotes would not be able to tell which was which.  In my experience, the remote will consider the first dot it finds to be dot 1, and the next to be dot 2, and so on.  So you can control this (by turning on IR sources in sequence) between several remotes only if all dots can be seen by all cameras at all times.

Does this answer your questions?

Hi Dave,

If I assume that the there will be one led for each foot finger then I can compare their X positions and see which one come after another in order to determine which finger it is.
Since on my application we would instruct the user to use the application correctly (to handle those situations).
For example, the camera would interpret the X positions of the fingers like this: point1X = 10, point2X = 12, point3X = 14, point4X = 16, point5X = 18, so I can suppose that point1X is the first finger from the left foot.
My problem is with the Z distance, since it would influence in my application.
Some people said that I could use the blob size but how can I obtain it? another thing is: I could not understand how it would be when putting 2 or 3 controllers together, I didn't get it.

Thank you very much and answering to your question, yes you did, but the more you dig, the more we find :-)



Offline inio

  • Wiki Admin
  • *
  • Posts: 124
  • Karma: +5/-0
    • View Profile
    • my Wii Remote projects
Reply #5 on: June 12, 2008, 09:37:59 AM
Using three wii remotes (only two as cameras, one for buttons and the accelerometer) I'm doing pretty much this:

http://www.soe.ucsc.edu/~inio/wii6dof.pdf



Offline Caio

  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Reply #6 on: June 12, 2008, 11:34:18 AM
Using three wii remotes (only two as cameras, one for buttons and the accelerometer) I'm doing pretty much this:

http://www.soe.ucsc.edu/~inio/wii6dof.pdf


If I place two wiimotes on in front of the user and one paralel to the user I could get the X, Y, and Z, right and then work with the points...

On the PDF you linked to, it says that you'll be using Google SketchUp, how this tool would work with real-time modeling (changing skeleton) and etc, is it easier, cheaper or what?

Thank you.



Offline inio

  • Wiki Admin
  • *
  • Posts: 124
  • Karma: +5/-0
    • View Profile
    • my Wii Remote projects
Reply #7 on: June 12, 2008, 12:04:00 PM
If I place two wiimotes on in front of the user and one paralel to the user I could get the X, Y, and Z, right and then work with the points...

You'd only need two, since each tracks points in two dimensions.  Calibrating them could be a bit tricky though.

On the PDF you linked to, it says that you'll be using Google SketchUp, how this tool would work with real-time modeling (changing skeleton) and etc, is it easier, cheaper or what?

Cheaper, and I'm very familiar with it's scripting system.



Offline Caio

  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Reply #8 on: June 12, 2008, 01:24:43 PM
How about XNA that I mentioned on the begining of this topic, would it be recommended to use with C# and 3D  modeling?