Просмотр полной версии : [Вопрос] AttachObjectToObject
Всем привет, у меня вопрос
(objectid, attachtoid, Float:OffsetX, Float:OffsetY, Float:OffsetZ, Float:RotX, Float:RotY, Float:RotZ, SyncRotation = 1)
Как расчитывать Float:RotX, Float:RotY, Float:RotZ относительно главного объекта?
Всем привет, у меня вопрос
(objectid, attachtoid, Float:OffsetX, Float:OffsetY, Float:OffsetZ, Float:RotX, Float:RotY, Float:RotZ, SyncRotation = 1)
Как расчитывать Float:RotX, Float:RotY, Float:RotZ относительно главного объекта?
Объект вокруг своей оси вращается, а не вокруг главного объекта.
Тоесть мы ротацию должны выставлять как в объекте к которому мы должны его прикрепить или как?
Нет. У приатаченного объекта ротация независимая от главного.
Вот например
new globject, object;
globject = CreateObject(5259, 3729.401855, -1053.377807, 14.139111, -0.000045, 0.000121, -34.299858, 300.00);
object = CreateObject(5259, 3689.801757, -1103.166015, 14.139111, -0.000045, 0.000121, -34.299858, 300.00);
3689.801757 - 3729.401855 = −39.600098
-1103.166015 - (-1053.377807) = −49.788208
14.139111 - 14.139111 = 0
AttachObjectToObject(object, globject, −39.600098,−49.788208,0.0,-0.000045,0.000121,-34.299858,1);
А ротацию тогда такой и оставляем?
Да, ротация прикрепляемого объекта осуществляется по его оси, а не по оси главного, повторюсь еще раз.
Да, ротация прикрепляемого объекта осуществляется по его оси, а не по оси главного, повторюсь еще раз.
Не работает
glkub = CreateObject(5259, 1236.181518, -1728.179199, 14.122141, 0.000000, 32.999992, -58.299983, 300.00);
kub[0] = CreateObject(5259, 1229.187011, -1720.275756, 14.110514, 0.000000, 0.000000, 0.000000, 300.00);
kub[1] = CreateObject(5259, 1229.183837, -1720.270141, 21.074384, 0.000000, 0.000000, -44.799961, 300.00);
AttachObjectToObject(kub[0], glkub, -6.994507, 7.903443, 0.011627, 0.000000, 0.000000, 0.000000,1);
AttachObjectToObject(kub[1], glkub, -6.997681, 7.909058, 6.952243, 0.000000, 0.000000, -44.799961,1);
https://s8.hostingkartinok.com/uploads/thumbs/2018/01/4ed1d2b871437e56313feea280c5b237.png (https://hostingkartinok.com/show-image.php?id=4ed1d2b871437e56313feea280c5b237)
https://s8.hostingkartinok.com/uploads/thumbs/2018/01/69d198ac2e8298ec1f540806e564dfc9.png (https://hostingkartinok.com/show-image.php?id=69d198ac2e8298ec1f540806e564dfc9)
Работает только в таком виде
glkub = CreateObject(5259, 1241.847900, -1720.289794, 14.122141, 0.000000, 0.000000, 0.000000, 300.00);
kub[0] = CreateObject(5259, 1229.187011, -1720.275756, 14.110514, 0.000000, 0.000000, 0.000000, 300.00);
kub[1] = CreateObject(5259, 1229.183837, -1720.270141, 21.074384, 0.000000, 0.000000, 0.000000, 300.00);
AttachObjectToObject(kub[0], glkub, -12.660889, 0.014038, -0.011627, 0.000000, 0.000000, 0.000000,1);
AttachObjectToObject(kub[1], glkub, -12.664063, 0.019653, 6.952243, 0.000000, 0.000000, 0.000000,1);
Почему обьекты следует за гланым обьектом, но не по тем координатам которые я задал ему?
Как должно быть
https://s8.hostingkartinok.com/uploads/thumbs/2018/01/4ed1d2b871437e56313feea280c5b237.png (https://hostingkartinok.com/show-image.php?id=4ed1d2b871437e56313feea280c5b237)
Что получилось
https://s8.hostingkartinok.com/uploads/thumbs/2018/01/69d198ac2e8298ec1f540806e564dfc9.png (https://hostingkartinok.com/show-image.php?id=69d198ac2e8298ec1f540806e564dfc9)
glkub = CreateObject(5259, 1236.181518, -1728.179199, 14.122141, 0.000000, 32.999992, -58.299983, 300.00);
kub[0] = CreateObject(5259, 1229.187011, -1720.275756, 14.110514, 0.000000, 0.000000, 0.000000, 300.00);
kub[1] = CreateObject(5259, 1229.183837, -1720.270141, 21.074384, 0.000000, 0.000000, -44.799961, 300.00);
AttachObjectToObject(kub[0], glkub, -6.994507, 7.903443, 0.011627, 0.000000, 0.000000, 0.000000,1);
AttachObjectToObject(kub[1], glkub, -6.997681, 7.909058, 6.952243, 0.000000, 0.000000, -44.799961,1);
Почему обьекты следует за гланым обьектом, но не по тем координатам которые я задал ему?
Как должно быть
https://s8.hostingkartinok.com/uploads/thumbs/2018/01/4ed1d2b871437e56313feea280c5b237.png (https://hostingkartinok.com/show-image.php?id=4ed1d2b871437e56313feea280c5b237)
Что получилось
https://s8.hostingkartinok.com/uploads/thumbs/2018/01/69d198ac2e8298ec1f540806e564dfc9.png (https://hostingkartinok.com/show-image.php?id=69d198ac2e8298ec1f540806e564dfc9)
glkub = CreateObject(5259, 1236.181518, -1728.179199, 14.122141, 0.000000, 32.999992, -58.299983, 300.00);
kub[0] = CreateObject(5259, 1229.187011, -1720.275756, 14.110514, 0.000000, 0.000000, 0.000000, 300.00);
kub[1] = CreateObject(5259, 1229.183837, -1720.270141, 21.074384, 0.000000, 0.000000, -44.799961, 300.00);
AttachObjectToObject(kub[0], glkub, -6.994507, 7.903443, 0.011627, 0.000000, 0.000000, 0.000000,1);
AttachObjectToObject(kub[1], glkub, -6.997681, 7.909058, 6.952243, 0.000000, 0.000000, -44.799961,1);
они прикрепляются к главному объекту под углами, которых ты указал. Потом они полностью сливаются с главным, то есть если ты перетащишь или будешь поварачивать главный объект, то прикрепленные тоже последуют за ним.
они прикрепляются к главному объекту под углами, которых ты указал. Потом они полностью сливаются с главным, то есть если ты перетащишь или будешь поварачивать главный объект, то прикрепленные тоже последуют за ним.
Как мне сделать так, как н
а 1-й картинке?
сначала ставишь главный объект, а потом те которые хочешь закрепить (причем ставишь их так, как хотел закрепить их к главному). Далее берешь координаты главного объекта и тех которых хотел закрепить, вычитаешь их. У тебя будут координаты для прикрепление объектов к главному.
сначала ставишь главный объект, а потом те которые хочешь закрепить (причем ставишь их так, как хотел закрепить их к главному). Далее берешь координаты главного объекта и тех которых хотел закрепить, вычитаешь их. У тебя будут координаты для прикрепление объектов к главному.
Извини
А я что по твоему сделал там?
Я установил 3 объекта, назначил 1 объект(тот, что 1 коробка) главным. К нему прикрепил остальные коробки. Рассчитал координаты x,y,z(объект - главный объект) и как сказали в теме выше не трогал ротацию, оставил такой как у объекта. Протестировал и получилось все как на картинках.
Ротацию тоже вычитывай
Все равно криво
Все равно криво
Значит что-то не правильно делаешь, не должно получаться криво. Перепроверь всё.
[QUOTE=Geebrox;89072]Значит что-то не правильно делаешь, не должно получаться криво.
Ротацию нужно рассчитывать как и x y z?
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot