Не работает функция unproject

Здравствуйте!

Может мне кто-нибудь подсказать почему не правильно работает функция unproject?

Насколько я понимаю, эта функция должна выдавать точку в пространстве, которая четко соответствует указанной точке на экране. Но у меня она работает неправильно.

У меня есть пометка в центральной точке простравнства 0,0,0. Если центральная точка пространства находится на месте, не сдвинута, не повернута, то при наведении на нее мыши точка в пространстве правильно отображается после unproject - 0, 0, 10. А если ее сдвинуть или даже просто повернуть как-то, то координаты при наведении на центральную точку становятся совершенно неправильными, не нулевыми. Нигде не нашел подобной проблемы, может у кого-то здесь есть мысли, с чем она может быть связана?

Вот код:

VB.NETВыделить код

1
2
3
4
5
6
7
8
9
10

Dim КурсорМыши As Point = System.Windows.Forms.Cursor.Position
 
Dim Вектор As New Vector3(КурсорМыши.X, КурсорМыши.Y, 0)
 
Вектор.Unproject(УстройствоЭкрана.Viewport, _
УстройствоЭкрана.Transform.Projection, _
УстройствоЭкрана.Transform.View, _
УстройствоЭкрана.Transform.World)
 
TextBox4.Text = Вектор.X & " " & Вектор.Y & " " & Вектор.Z