- Спойлер
Добавлено спустя 11 минут 34 секунды:
Так же, как вариант, это можно списать на неадекватное считывание положение курсора самим блендером.
Список разделов › Геймдев в Blender › Игровой движок Blender
А нельзя считывать не положение курсора, а показания самого датчика мыши? В какой то игровой среде, не помню, было именно так.Bibo писал(а):Так же, как вариант, это можно списать на неадекватное считывание положение курсора самим блендером.
http://habrahabr.ru/post/234203/andreymal писал(а):Гугли матрицу поворота, потом должно понятно стать
def peremeshenie_pusto(cont):
cont = bge.logic.getCurrentController()# получаем контроллер
obj = cont.owner # получаем объект контроллера
scene = logic.getCurrentScene() # получаем сцену
scene.objects["cilindr_g"].worldPosition[2] = scene.objects["Cube.0"].worldPosition[2]
euler_Shesternj_B02 = scene.objects["Shesternj_B02"].worldOrientation.to_euler() # получаем переменную ориентации объекта преобразованную из матрицы в элер в радианах
euler_Shesternj_B02.y = obj.worldPosition[2]*3.14159#поворачиваем в соответствии с положением пустышки.
scene.objects["Shesternj_B02"].worldOrientation = euler_Shesternj_B02.to_matrix()#преобразовываем обратно элер в матрицу
euler_Shesternj_m03 = scene.objects["Shesternj_m03"].worldOrientation.to_euler() # получаем переменную ориентации объекта преобразованную из матрицы в элер в радианах
euler_Shesternj_m03.y = obj.worldPosition[2]*-6.28318
scene.objects["Shesternj_m03"].worldOrientation = euler_Shesternj_m03.to_matrix()
euler_dergatel = scene.objects["dergatel"].worldOrientation.to_euler() # получаем переменную ориентации объекта преобразованную из матрицы в элер в радианах
euler_dergatel.x = obj.worldPosition[2]*3.14159
scene.objects["dergatel"].worldOrientation = euler_dergatel.to_matrix()
euler_dergatel03= scene.objects["dergatel03"].worldOrientation.to_euler() # получаем переменную ориентации объекта преобразованную из матрицы в элер в радианах
euler_dergatel03.z = obj.worldPosition[1]*-3.14159
scene.objects["dergatel03"].worldOrientation = euler_dergatel03.to_matrix()
euler_koieso = scene.objects["koieso"].worldOrientation.to_euler() # получаем переменную ориентации объекта преобразованную из матрицы в элер в радианах
euler_koieso.x = obj.worldPosition[1]*-6.28318
scene.objects["koieso"].worldOrientation = euler_koieso.to_matrix()
euler_koieso1 = scene.objects["koieso1"].worldOrientation.to_euler() # получаем переменную ориентации объекта преобразованную из матрицы в элер в радианах
euler_koieso1.x = obj.worldPosition[1]*-6.28318
scene.objects["koieso1"].worldOrientation = euler_koieso1.to_matrix()
euler_Shesternj_sfera = scene.objects["Shesternj_sfera"].worldOrientation.to_euler() # получаем переменную ориентации объекта преобразованную из матрицы в элер в радианах
euler_Shesternj_sfera.y = obj.worldPosition[2]*3.14159
euler_Shesternj_sfera.z = obj.worldPosition[1]*-3.14159
scene.objects["Shesternj_sfera"].worldOrientation = euler_Shesternj_sfera.to_matrix()
if obj['poz_y'] < obj.worldPosition[1]:
obj.worldPosition[1] = obj.worldPosition[1]-0.01
#euler_Shesternj_sfera.z = euler_Shesternj_sfera.z+0.0314159
if obj['poz_y'] > obj.worldPosition[1]:
obj.worldPosition[1] = obj.worldPosition[1]+0.01
#euler_Shesternj_sfera.z = euler_Shesternj_sfera.z-0.0314159
if abs(obj['poz_y'] - obj.worldPosition[1]) < 0.01:
obj.worldPosition[1] = obj['poz_y']
#euler_Shesternj_sfera.z = 3.14159*-obj.worldPosition[1]
if obj['poz_z'] < obj.worldPosition[2]:
obj.worldPosition[2] = obj.worldPosition[2]-0.01
#euler_Shesternj_sfera.y = euler_Shesternj_sfera.y-0.0314159
if obj['poz_z'] > obj.worldPosition[2]:
obj.worldPosition[2] = obj.worldPosition[2]+0.01
#euler_Shesternj_sfera.y = euler_Shesternj_sfera.y+0.0314159
if abs(obj['poz_z'] - obj.worldPosition[2]) < 0.01:
obj.worldPosition[2] = obj['poz_z']
#euler_Shesternj_sfera.y = 3.14159*obj.worldPosition[2]
if obj.worldPosition[1] == obj['poz_y'] and obj.worldPosition[2] == obj['poz_z']:
obj['peremeshenie'] = 0
Linux
API на русском ещё не скоро увидим, тут уж привыкай )Mihanik писал(а):кто бы перевёл эту документацию
Linux
Вернуться в Игровой движок Blender
Сейчас этот раздел просматривают: 1 гость