[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум Panda3D - по русски » Panda3D » Общие вопросы » Вопросы
Вопросы
3dmaxДата: Четверг, 19.02.2009, 16:09 | Сообщение # 31
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
гы гы ты хош чтобы програмно, оптимизировался меш? Нуу по идее это бы пригодилось итак же для создания лодов.
 
Dimon3DДата: Четверг, 19.02.2009, 16:20 | Сообщение # 32
Полковник
Группа: Проверенные
Сообщений: 202
Награды: 1
Репутация: 4
Статус: Offline
Нет BB мне нужны для другой цели.
 
ninthДата: Четверг, 19.02.2009, 16:27 | Сообщение # 33
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
В референсе есть DirectBoundingBox и BoundingBox но никаких примеров и мануалов я по ним не нашёл. Что именно ты хочешь сделать?
 
Dimon3DДата: Четверг, 19.02.2009, 16:36 | Сообщение # 34
Полковник
Группа: Проверенные
Сообщений: 202
Награды: 1
Репутация: 4
Статус: Offline
Я хочу получить габаритные размеры меши

Добавлено (19.02.2009, 16:36)
---------------------------------------------
И еще я хочу получит единичный вектор ориентации загружаемого объекта (меши)

 
ninthДата: Четверг, 19.02.2009, 16:40 | Сообщение # 35
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
1. Надо экспериментрировать функции есть, но недокументированы
2. чем getQuat не устраивает?
 
Dimon3DДата: Четверг, 19.02.2009, 16:46 | Сообщение # 36
Полковник
Группа: Проверенные
Сообщений: 202
Награды: 1
Репутация: 4
Статус: Offline
Я не знаю чтоза параметры он выводит. Мне нужны (vx,vy,vz)
 
ninthДата: Четверг, 19.02.2009, 19:23 | Сообщение # 37
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Кватернион - четырёхкомпонентный вектор. Т.к. трёхкомпонентным вектором полностью ориентацию получить нельзя. Обычно три компоненты обозначают направление, четвёртая - поворот вдоль оси направления. Если тебе нужны только компоненты направления, то можешь использовать
nodePath.getQuat().getRight()
nodePath.getQuat().getForward()
nodePath.getQuat().getUp()

возвращают значение типа Vec3 - вектор соответствующего направления

 
ninthДата: Четверг, 19.02.2009, 19:50 | Сообщение # 38
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Поковырялся с боундинг боксом
вот тебе пример сразу и с боксом и с кватернионом

Code

from direct.directbase import DirectStart
from direct.directtools.DirectSelection import DirectBoundingBox

box=loader.loadModel("box")
box.reparentTo(render)
box.setHpr(0,0,0)
base.disableMouse()
base.camera.setPos(20,20,2 0)
base.camera.lookAt(0,0,0)

bb=DirectBoundingBox(box)
#bb.show()

print box.getQuat().getRight()
print box.getQuat().getForward()
print box.getQuat().getUp()
print bb.getRadius()
print bb.getMax()
print bb.getMin()

run()
 
Dimon3DДата: Пятница, 20.02.2009, 15:35 | Сообщение # 39
Полковник
Группа: Проверенные
Сообщений: 202
Награды: 1
Репутация: 4
Статус: Offline
Да ninth это то, что мне нужно! Спасибо.

Добавлено (20.02.2009, 15:28)
---------------------------------------------
В файле cubes.egg находятся Cub, Cube.001 и Cube.002 являющийся child'ом Cube.001.
Я запускаю вот эту программу:

import direct.directbase.DirectStart
from pandac.PandaModules import *
from direct.showbase.DirectObject import DirectObject

base.disableMouse()
base.camera.setPosHpr(0,-10,1,0,0,0)

cubes=loader.loadModel('models/cubes')

c1=cubes.findAllMatches('**/Cube*')
b=c1[2]

b2=b.getParent()
b2.reparentTo(render)

run()

и вижу что кроме Cube.001 (назначаемый b2) в сцене висит Cube0.02 (назначаемый b).
Что делать. Я не привязываю b к рендеру, так куда он лезет. Как вывести отдельный объект - отдельно question

Добавлено (20.02.2009, 15:35)
---------------------------------------------
А сеть та чо так тормозит ? Не у кого не тормозит ? Жду страницу по пол минуты evil

 
ninthДата: Пятница, 20.02.2009, 15:50 | Сообщение # 40
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Дело в том, что ты получаешь только nodePath но при этом ты же не меняешь связи между ними, а по-дефолту, изменения, назначенные родителю наследуются всеми его чайлдами, к тому же, раз уж у тебя b является чайлдом b2 то при направлении b2 в render его чайлды отправятся туда же, т.к. render так же является узлом сцены. Нужно либо вручную отделить detachNode() нод перед репарентингом (соответственно он перестанет быть и чайлдом b2), либо просто скрывать его.
 
Dimon3DДата: Пятница, 20.02.2009, 16:07 | Сообщение # 41
Полковник
Группа: Проверенные
Сообщений: 202
Награды: 1
Репутация: 4
Статус: Offline
Скорее всего я брошу затею эту
 
ninthДата: Пятница, 20.02.2009, 16:19 | Сообщение # 42
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
А что именно ты хочешь сделать?
 
3dmaxДата: Суббота, 21.02.2009, 03:03 | Сообщение # 43
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
Я кажеться понял почему через время у меня долго закрывается графич. окно панды. В оутпут много выводиться данных smile
Как очистить оутпут ?
 
ninthДата: Суббота, 21.02.2009, 04:17 | Сообщение # 44
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
View->Clear output
 
3dmaxДата: Суббота, 21.02.2009, 05:51 | Сообщение # 45
Генерал-майор
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 1
Статус: Offline
похоже у меня старая версия . SPE-0.8.3
а тут на сайте выложена не установочная. (для винды)
Есть где нить установочная ?

Добавлено (21.02.2009, 05:51)
---------------------------------------------
вот эта функция base.camera.lookAt(1,100,0)
я так понимаю задает направление камеры а а что означают значения в скобках ?

 
Форум Panda3D - по русски » Panda3D » Общие вопросы » Вопросы
Поиск: