3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

190 страниц V  « < 181 182 183 184 185 > »   
Reply to this topicStart new topic
> А нет-ли такого скрипта?
DjFAT
сообщение 11/01/2019, 15:12
Сообщение #2731


Рыцарь форума
Иконка группы

Группа: Пользователи
Сообщений: 1 726
Регистрация: 10/05/2007
Пользователь №: 50 992



Есть задача - привязать положение объекта к вектору движения.
Как это можно реализовать? Пишу сюда т.к. есть в настройках контроллеров Rotation Script - может как то это просто реализуется?
Go to the top of the page
 
+Quote Post
Jahman
сообщение 11/01/2019, 23:00
Сообщение #2732


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 456
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



лучше подробнее и с картинками
Go to the top of the page
 
+Quote Post
igorznag2
сообщение 12/01/2019, 14:45
Сообщение #2733


MaxMan
Иконка группы

Группа: Пользователи
Сообщений: 153
Регистрация: 14/08/2015
Пользователь №: 109 394



Видео-пример: https://youtu.be/ZJrlX8LDCqk
Пример: В сцене есть один объект чайник Teapot01 и один объект бокс Box01.
Чайник прилинкован к боксу. Бокс анимирован с помощью ключей.
Объект бокс не имеет родителя.
Применяем к вращению чайника контроллер Rotation Script и пишем следующий код.
В коде названия Teapot01 и Box01 нужно менять на нужные названия.

Код
s2=[0,0,0];s1=[0,0,0]
at time (currentTime +1) s2=$Teapot01.pos
at time currentTime s1=$Teapot01.pos
v=s2-s1
if length v>0 then
(
axis_x=normalize v; axis_z=[0,0,1]
axis_y=cross axis_x axis_z
axis_y=-axis_y--flip
axis_z=cross axis_x axis_y
m=matrix3 axis_x axis_y axis_z [0,0,0]
if m.determinantsign==-1 do (m=matrix3 axis_x axis_y -axis_z [0,0,0])
m*(inverse $Box01.transform)
)
else quat 0 0 0 1
Go to the top of the page
 
+Quote Post
DjFAT
сообщение 12/01/2019, 19:55
Сообщение #2734


Рыцарь форума
Иконка группы

Группа: Пользователи
Сообщений: 1 726
Регистрация: 10/05/2007
Пользователь №: 50 992



Да! Это то! Спасибо!
Go to the top of the page
 
+Quote Post
Ded_
сообщение 15/01/2019, 15:53
Сообщение #2735


MaxMan
Иконка группы

Группа: Пользователи
Сообщений: 180
Регистрация: 04/05/2006
Из: Ryazan
Пользователь №: 30 816



Добрый день, друзья
Подскажите как сделать?
Как выровнять грани полигона в EditPoly обьекте, в одну плоскость, то есть у них у всех ( граней ), нормали должны стать перпендикулярны друг другу, но при этом направление вектора должно остаться прежним - средне составным из того что было до выравнивания. Перемещаться вершины при выравнивании должны перпендикулярно этому вектору ( среднему ).
Спасибо.
Go to the top of the page
 
+Quote Post
igorznag2
сообщение 15/01/2019, 18:05
Сообщение #2736


MaxMan
Иконка группы

Группа: Пользователи
Сообщений: 153
Регистрация: 14/08/2015
Пользователь №: 109 394



Цитата(Ded_ @ 15/01/2019, 15:53) *
Как выровнять грани полигона в EditPoly обьекте, в одну плоскость

Объясните подробнее. Для чего вам это нужно?
Лучше в Skype. Мой Skype:igorznag2012
Предоставьте видео со звуком или пару изображений.
Вы хотите сделать Unfold как в программе Pepakura?
Пример: https://youtu.be/7a6vKcRnydA
Go to the top of the page
 
+Quote Post
Ded_
сообщение 15/01/2019, 20:37
Сообщение #2737


MaxMan
Иконка группы

Группа: Пользователи
Сообщений: 180
Регистрация: 04/05/2006
Из: Ryazan
Пользователь №: 30 816



Цитата(igorznag2 @ 15/01/2019, 18:05) *
Цитата(Ded_ @ 15/01/2019, 15:53) *
Как выровнять грани полигона в EditPoly обьекте, в одну плоскость

Объясните подробнее. Для чего вам это нужно?
Лучше в Skype. Мой Skype:igorznag2012
Предоставьте видео со звуком или пару изображений.
Вы хотите сделать Unfold как в программе Pepakura?
Пример: https://youtu.be/7a6vKcRnydA

Прошу прощения, если вопрос не понятен был.
Оказывается есть такой инструмент -
Make Planar.
Он выравнивает так как мне надо.


Сообщение отредактировал Ded_ - 15/01/2019, 21:02
Go to the top of the page
 
+Quote Post
Ded_
сообщение 27/01/2019, 20:35
Сообщение #2738


MaxMan
Иконка группы

Группа: Пользователи
Сообщений: 180
Регистрация: 04/05/2006
Из: Ryazan
Пользователь №: 30 816



Добрый день.
Подскажите пожалуйста, как можно быстро найти все вогнутые полигоны у Editable Poly объекта и заменить им расположение ребра триангуляции (Turn)?
Мне нужно найти все вогнутые и сделать их выпуклыми.
Подробно в видео с моим пояснением.
Я делаю бумажные модели на основе ретопологии 3д моделей, мне чисто технологически не устраивает вогнутая поверхность, это не красиво где не надо и с ними много возни, материал пружинит.
Спасибо.
Go to the top of the page
 
+Quote Post
Jahman
сообщение 28/01/2019, 10:53
Сообщение #2739


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 456
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



лень думать как это сделать правильно, поэтому вот первое что в голову пришло. все равно у тебя модельки лоупольки..
логично предположить что выпуклые полигоны добавляют объем модели, в то время как вогнутые убавляют, поэтому

CODE
fn CalculateVolumeAndCenterOfMass obj =
(
    
    local Volume= 0.0
    local Center= [0.0, 0.0, 0.0]
    local theMesh = snapshotasmesh obj
    local numFaces = theMesh.numfaces
        
    for i = 1 to numFaces do
    (
      local Face= getFace theMesh i
      local vert2 = getVert theMesh Face.z
      local vert1 = getVert theMesh Face.y
      local vert0 = getVert theMesh Face.x
      local dV = Dot (Cross (vert1 - vert0) (vert2 - vert0)) vert0
      Volume+= dV          
    )

    delete theMesh

    Volume /= 6    

    Volume

)


-- выделяем полигональный объект и запускаем
for f=1 to polyop.getNumFaces $ do
(
    vol_before = CalculateVolumeAndCenterOfMass $
    
    $.TurnDiagonal f 1
    
    vol_after = CalculateVolumeAndCenterOfMass $
    
    if vol_before > vol_after do $.TurnDiagonal f 1
    
)
Go to the top of the page
 
+Quote Post
Tenor
сообщение 28/01/2019, 13:42
Сообщение #2740


Эксперт
Иконка группы

Группа: Пользователи
Сообщений: 750
Регистрация: 17/10/2005
Пользователь №: 17 187



а нет ли такого скрипта чтобы рендрить все видимые из камеры объекты в рассыпную каждый кусочек на своем слое чтобы надобность паса render id отпала?

Сообщение отредактировал Tenor - 28/01/2019, 14:33
Go to the top of the page
 
+Quote Post
Jahman
сообщение 28/01/2019, 14:48
Сообщение #2741


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 456
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



да, забыл
там предполагается что полигоны все четырехугольные.. треугольные надо бы пропускать, а вот с многоугольниками надо еще как-то мудрить, но этот функционал отсуйствует happy.gif
Go to the top of the page
 
+Quote Post
igorznag2
сообщение 28/01/2019, 19:19
Сообщение #2742


MaxMan
Иконка группы

Группа: Пользователи
Сообщений: 153
Регистрация: 14/08/2015
Пользователь №: 109 394



Цитата(Ded_ @ 27/01/2019, 20:35) *
Подскажите пожалуйста, как можно быстро найти все вогнутые полигоны у Editable Poly объекта и заменить им расположение ребра триангуляции (Turn)?
Мне нужно найти все вогнутые и сделать их выпуклыми.

Я написал скрипт который делает turn для всех нужных полигонах, которые имеют 4 вершины.
Пример: https://youtu.be/WazmhKNnJzE
Проверьте если скрипт работает правильно.
Прикрепленные файлы
Прикрепленный файл  Turn_macro.rar ( 683 байт ) Кол-во скачиваний: 35
 
Go to the top of the page
 
+Quote Post
Ded_
сообщение 28/01/2019, 20:05
Сообщение #2743


MaxMan
Иконка группы

Группа: Пользователи
Сообщений: 180
Регистрация: 04/05/2006
Из: Ryazan
Пользователь №: 30 816



Цитата(Jahman @ 28/01/2019, 10:53) *
лень думать как это сделать правильно, поэтому вот первое что в голову пришло. все равно у тебя модельки лоупольки..
логично предположить что выпуклые полигоны добавляют объем модели, в то время как вогнутые убавляют, поэтому

CODE
fn CalculateVolumeAndCenterOfMass obj =
(

local Volume= 0.0
local Center= [0.0, 0.0, 0.0]
local theMesh = snapshotasmesh obj
local numFaces = theMesh.numfaces

for i = 1 to numFaces do
(
local Face= getFace theMesh i
local vert2 = getVert theMesh Face.z
local vert1 = getVert theMesh Face.y
local vert0 = getVert theMesh Face.x
local dV = Dot (Cross (vert1 - vert0) (vert2 - vert0)) vert0
Volume+= dV
)

delete theMesh

Volume /= 6

Volume

)


-- выделяем полигональный объект и запускаем
for f=1 to polyop.getNumFaces $ do
(
vol_before = CalculateVolumeAndCenterOfMass $

$.TurnDiagonal f 1

vol_after = CalculateVolumeAndCenterOfMass $

if vol_before > vol_after do $.TurnDiagonal f 1

)

Цитата(Jahman @ 28/01/2019, 14:48) *
да, забыл
там предполагается что полигоны все четырехугольные.. треугольные надо бы пропускать, а вот с многоугольниками надо еще как-то мудрить, но этот функционал отсуйствует happy.gif


Спасибо, признателен вам!
Восхищаюсь вашими знаниями.
Попробовал, очень удобно. Спасибо!
Go to the top of the page
 
+Quote Post
Ded_
сообщение 28/01/2019, 23:10
Сообщение #2744


MaxMan
Иконка группы

Группа: Пользователи
Сообщений: 180
Регистрация: 04/05/2006
Из: Ryazan
Пользователь №: 30 816



Цитата(igorznag2 @ 28/01/2019, 19:19) *
Цитата(Ded_ @ 27/01/2019, 20:35) *
Подскажите пожалуйста, как можно быстро найти все вогнутые полигоны у Editable Poly объекта и заменить им расположение ребра триангуляции (Turn)?
Мне нужно найти все вогнутые и сделать их выпуклыми.

Я написал скрипт который делает turn для всех нужных полигонах, которые имеют 4 вершины.
Пример: https://youtu.be/WazmhKNnJzE
Проверьте если скрипт работает правильно.

Спасибо Игорь!
Go to the top of the page
 
+Quote Post
Babuinische
сообщение 30/01/2019, 18:47
Сообщение #2745


психомазохист
Иконка группы

Группа: Пользователи
Сообщений: 4 418
Регистрация: 16/10/2012
Из: Восточная Африка - Маисовое поле
Пользователь №: 86 591



Приветствую, уважаемые кодеры.
Нужно перегнать эверовские сцены в майю в редшифт
Оказалось, что проще сконвертить в максе сначала - этот скрипт есть. А потом загнать уже в майю. О цене договоримся. Если интересно дам скайп
как maxtomaya, только для редшифта

Сообщение отредактировал Babuinische - 30/01/2019, 18:48
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






190 страниц V  « < 181 182 183 184 185 > » 
Reply to this topicStart new topic

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 29/03/2024 - 00:57