Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

Joao   Itapetininga-SP - SP
RAFAEL AMARANTE   São Paulo - AC
netiquinho   São José Do Rio Preto - AC
fernando parreira   Minas Gerais - MG

Portfólios Ver Mais

Cleber Luiz Beraldo   Santo André, SP - SP
Juan Jurado   Osasco - AC
undernight   Rua Maceió nº67 Santo Agostinho - Volta Redonda - RJ - RJ
master_3d   Rio de Janeiro - RJ

Adicionar key (MaxScript)

Por: Alvaro  

Em: 07/08/2014 13:51

tenho uma animação longa e já tenho uma curva na track Z mas preciso adicionar key sobre ela a cada 25 frames.

através do listener pude ver que o caminho é:

addNewKey $.pos.controller.Z_Position.controller 25f #select

isso adiciona a key no frame 25. Alguém sabe como eu posso fazer pra adicionar um key a cada 25 frames?

Abrs

Alvaro
Alvaro Moreira Particle Skull PSkull.com
Já consegui. Se alguém tiver a dúvida é isso aqui:

for t in 0f to 500f by 25f do
(
addNewKey $.pos.controller.Z_Position.controller t
)

Abrs
Alvaro Moreira Particle Skull PSkull.com
Olá pessoal da 3d1...boa tarde a todos!!

Alvaro Moreira: oi Álvaro!! tudo bem?? Puxa, se tivesse visto sua pergunta antes, tinha te ajudado colega.

Essa sua segunda mensagem que você falou sobre como adicionar \"keys\" em uma animação a cada 25 frames, é linguagem de programação \"C++\". ^^

Você usou um artifício chamado \"estrutura de repetição\" como se fosse uma contagem com matrizes usado o \"for\". =]

As estruturas de repetições são muito importantes para programas e principalmente programadores, pois muitas vezes o mesmo procedimentos têm que ser executados mais de uma vez.

OBS.: Em C/C++, basicamente existem três tipos de estrutura de repetição: [b]FOR, WHILE e DO WHILE.[/b]

A estrutura de repetição \"FOR\" como qualquer iteração ( repetição ) precisa de uma variável para controlar os loops ( voltas ).

Em \"for\", essa variável deverá ser inicializada, indicada seu critério de execução, e forma de incremento ( ++ ) ou decremento ( -- ). Ou seja, for precisa de três condições. Vale salientar que essas condições são separadas por ponto-e-vírgula (;).

Como procedemos:

FOR (inicialização ; até quando irá ser executado ; incremento ou decremento) -->> Sintaxe do comando \"for\".

No exemplo, faremos um programa que contará de 1 a 100. Você verá que é um programa que faz algo muito simples, ele soma um a uma variável várias vezes. O x começa em 1, o loop só será executado enquanto x for menor ou igual a 100 e a cada loop será somado 1 a x.

Veja:

//loop com FOR

#include

#include

using namespace std;

int main (void){

int x;

for (x=1; x<=100; x++)

/* inicialização: x começa em 1

critério: executar enquanto x for menor ou igual a 100

incremento (++) será somado 1 a x */

cout << x <<\"\\t\"; system (\"pause\");

}

======================================================================================

O \"FOR\" também segue a mesma regra de IF. Caso haja mais de uma linha a ser executada pelo comando FOR, essas deverão estar agrupadas num bloco de dados ( { } ).

Este comando não se limita a operações com constantes, por exemplo: x=1, executar enquanto x for menor ou igual a 100... Às vezes, o usuário pode entrar com dados para controlar o loop. Veja:

No exemplo 1, a contagem começará a partir do número que o usuário digitar.

*Observação: A operação x+=user é o mesmo que x=x+user.

======================================================================================

Resumindo: Pode usar o while ou o \"do while\" no lugar do \"for\", Álvaro.

Espero ter ajudado de alguma forma.

Abraços e sucesso!

________________________________
\"FORÇA & CORAGEM SEMPRE\"...
Que legal Danilo, valeu pelas dicas!

Eu já usei um recurso the loop -- for i in 1 to count do -- e não sabia bem o que significava o i. Coincidentemente ontem eu assisti um tutorial sobre maxscript onde o instrutor comentou que i = iteration mas eu não entendi bem, pensei que devia ser interation (o que não faria muito sentido).

Valeu Danilo,

Abraço
Alvaro Moreira Particle Skull PSkull.com
Olá pessoal da 3d1... boa noite a todos!!

Alvaro Moreira: oi Álvaro!! tudo bem?? hehe...você tem razão, realmente pensar em \"interarions\" neste caso, não fazia muito sentido...rsrs. ^^

Li o livro de linguagem de programação em C/C++ do Luis Damas quase todo, e fiz milhares de exercícios de linguagem C. =)

A linguagem do Maxscript é quase toda em linguagem C. É óbvio que ainda tem é muita coisa que preciso aprender de linguagem C, mas o que eu souber, poderá sempre contar com minha ajuda, tudo bem?

Até os recursos de scripts via \"Mel\" e \"Phyton\" do Maya 2014 que eu uso, são em linguagem C/C++.

** Há muito tempo mesmo que me questionava o porque que a linguem C/C++ era tão usada e difundida no mundo todo. E depois de pesquisar e estudar bastante, foi que eu notei e vi que era porque era uma linguagem de certa forma moderna, de fácil uso, manuseio, principalmente muito \"eficiente\", capaz de suportar grandes mudanças e ser bastante flexível, o que é muito importante hoje em dia.

OBS.: Atualmente há uma ponte enorme entre o artista gráfico e a programação. Acho que deve ser uma coisa pelo menos \"parecida\" com a relação arquiteto/ engenheiro.

Alguns artistas gráficos não gostam muito de programar, e o que é mais interessante Álvaro, é que é muito gostoso e muito prazeroso programar, principalmente quando se está no processo de aprendizado.

É tão viciante programar e estudar linguagem de programação C/C++, quanto modelar, texturizar, rigar e animar em 3d ( Computação Gráfica ).

Quando comecei com programação em linguagem C/C++, fiquei tão viciado ( no bom sentido, é claro...rsrs ) que passei quase uns 2 meses sem nem abrir um software 3d...huahuahua.

Claro que só 2 meses não é o suficiente para aprender linguagem C/C++, precisa de muitos e muitos anos programando e estudando.

Mas essa semana eu senti muito a necessidade de dominar mais \"Maxscript\" ( sei muito pouco ) e os scripts \"Mel\" e \"phyton\" do Maya 2014.

Porque quando fui fazer uma cena de uma universidade \"Harvard\" lá pro Speed da 3d1, queria colocar árvores secas na minha cena 3d, e poderia modelá-las, mas ia dar um trabalho danado.

Até que pesquisando bastante há alguns dias na net, foi que descobri um script maravilhoso criado por um artista gráfico estrangeiro, que somente com um único clique no mouse, você cria qualquer tipo de árvore seca e ainda pode randomizá-la ( o que considero muito importante ).

É por isso que realmente todos nós devemos e podemos aprender sempre mais. Como sempre digo, a estrada do conhecimento da Computação Gráfica, é uma estrada sem fim, literalmente infinita...hehe!

Abraços e sucesso, \"Álvaro\".

________________________________
\"FORÇA & CORAGEM SEMPRE\"...
Legal o tópico :)..


@Alvaro: No caso, não é q é \'i\', esse \'i\' poderia ser outra coisa.. No caso aí é uma variavel de uso \'local\'.. Por exemplo, é um valor a ser usado nesses \'testes\' onde caso esses \'testes\' deem \'verdadeiro\', o loop vai se manter..

Por exemplo:

Local Numero = 0
While Numero < 20 do
(
Messagebox \"Contando, no numero\"+ Numero as String
Numero = Numero +1
)

Então ele vai criar 19 janelinhas, contando de 1 a 20, etc.. (fiz coisa similar pra adicionar elementos aos arrays, naquele script lá de salvar versão)..


Poderia ser (For Numero==0 to Numero==20 do).. etc.. Tem varias funções q c meio q põe uma letra ou termo seu no meio, q vai ser o q é definido dentro das chaves..


Por exemplo:

For U==1 to U==20 do:
(
Print U
U=U+1
)

Ele vai adicionar 1 a cada vez q o loop for tocado.. Etc.. Sou meio ruim pra dar exemplo dessas coisas, sem ter uma função concreta deles xd..
A Beleza está entre a Ética e a Razão!..
Danilo,

Uma vez eu vi um script do Clovis Gay que cria árvores, achei sensacional. O treePainter.
http://www.wtv3d.org/t15985-treepainter-v2-3ds-max-plugin-by-clovis-gay
Não seria esse aí de repente?

Eu já cheguei a sentir esse viciozinho há uns tempos atrás. Infelizmente não durou muito tempo, por conta de uns outros trabalhos que eu tava fazendo, mas aprendi uma base interessante. Agora pelo menos eu tenho uma noção legal de como fazer algumas coisas e na maioria dos casos consigo chegar onde eu quero com a ajuda de amigos. O problema é que geralmente eu preciso de uma solução na hora e acabo indo por um caminho menos prático (sem macscript) mas que pode ser resolvido no momento.

Tenho ctz que esse vício ainda volta ;)

---

Fox,

Pois é cara, agora que você mencionou parece bem óbvio. Vou até fazer uns testes aqui com outra letra hehehe

Esse exemplo que você citou funcionaria em maxscript?

--

abraço galera
Alvaro Moreira Particle Skull PSkull.com
Olha esse video aqui e tal... É aquele sobre a articulação entre MAXScript e o Motion Capture do 3dsMax...


Um amigo (o que eu sei da \'logica de programação\' ou \"matriz dos arrays\" eu aprendí o vendo fazer coisas, e também recitando determinados hinos védicos, etc, etc..) disse (esse de quem copiei a técnica de lógica discreta, etc..) que ensinei \'prog\' melhor q muita gente e tal.. E q eu sou \'muito bom\' de \'prog\'.. Mas eu detesto o assunto.. Mas como eu acho a Arte superior à Tecnologia, aprendí a tecnica à um nivel primitivo/rudimentar.. O que à alguem que preza mais à Arte do que à Técnica, acaba a se tornar um instrumento artistico extremamente interessante.. Bem como, técnicamente, é um artifício capaz de elevar à produção final a mais proximo do \'realismo\' (que é o Resultado... Ao contrário das \'realisticas\' ou \'não-realisticas\'.. que são as Técnicas....)..


Ahaa.. (quase esqueço.. ó eu me \'preparando pra viajar\' (na verdade, me preparando pra dormir q nem uma pedra durante uma viagem heehehehe...).. O Link do Vídeo lá.. Acho q é um dos q eu explico uma coisa com mais propriedade.. Sempre fico triste quando n \'aprovam\' (ex: \'põe no site\') um tutorial q acho bom mesmo e tal.. Mas.. né.. enfim... Com esse aqui vc vai ter uma base boa aí pra articular essas coisinhas.. Dá pra vc fazer um pinball.. Ou até um paintball hehe... ;)..

(mas n se preocupa não q daqui uns 6 meses no máximo tem algo muito analogo.. a ser produzido por um estudio famoso e portanto de mais \'relevancia direta\'.. hehehe..)

http://www.mediafire.com/watch/35wx8724d5ex1fp/Articulando_Motion_Capture_e_MAXScript.avi





@edit: Quando eu falo \'in coordsys\' ou \'set coordsys\'... Antes de \'local\', \'global\', \'gimbal\' ou etc.. tem um \"#\"... Confundí (ou \'esquecí\') um pouco isso aí no video XD...



@edit2: A parte mais \'emocionante\' do video é quando eu explico sobre o lído do Quaternion, articulando a lógica.. e sobre o mesmo Quaternion articulando a Matemática (o que necessitaria um auxilio de um matemático e tal xd..).. E confesso não saber o que isso significa, matematicamente... huehehueeueheh (sobre a questão das 4 dimensões relativas do Quaternion XDD)... \"O Quaternion né... \'uma-sequencia-de-quatro-senóides-à-emular-um-radiano\'..\" XDD... heuhuehueuhe....
A Beleza está entre a Ética e a Razão!..
Heuheuheuheuheuehuehueh

Quaternions só existem na prática cara, não da pra criar uma teoria explicando o que eles realmente são.

To baixando o video aqui (e parece que vai demorar infinitooo) pq nao rolou assistir lá. Mas melhor assm. Já deixo guardado na minha pasta de tutos.

Tá rolando um pinball feito em thinking particles. tipo, fantástico cara.
https://vimeo.com/103104121

Aí você assiste isso quando voltar pra vida real. Tomara que não pegue internet no tablet do teu pai cara. É bom dar um tempo! hehe

Edit: vc já viu isso né cara. tá de noticia aqui na 3d1. então, esqueça;

Abraço
Alvaro Moreira Particle Skull PSkull.com
Hehe.. Podcre..

Na verdade (até onde eu consegui entender) o que ocorre é que o \'quaternion\' só vai existir na matemática.. Girando-se de uma maneira natural vc não vai pensar nunca em quaternion.. O q vai tornar ele relevante/existente é quando a gente tá usando a matemática teórica pra conceber questões de giro.. Uma questão de \'gimbal lock\' por exemplo, só iria ocorrer na natureza se a gente fizer uso de um mecanismo de gimbal mesmo (um \'gimbal\' é tipo uma sequencia de 3 anéis (tipo orientados inicialmente em X,Y e Z, um dentro do outro), onde caso vc alinhe um destes a outro anel, vc estaria perdendo uma dimensão de liberdade no giro (se vc girasse um anel, equivaleria a girar o outro, etc..).. Pensando numa maneira meramente estática, é perfeitamente possivel representar um giro em X,Y e Z, mas, numa questão dinâmica, caso vc gire em 90 graus em uma direção, vc já vai perder uma possibilidade matemática de concepção de giro.. Até onde eu entendí é isso :)..



Olha sobre o Gimbal Lock:

http://en.wikipedia.org/wiki/Gimbal_lock



Imagine que, entendendo como quaternions, o giro de uma dimensão não vai influir no giro de outra dimensão.. Por isso (acho) se chama de \'não-comutativo\'.. Na medida em que a representação de Euler (XYZ) é \'comutativa\' (se vc gira o X em 90 graus ele vai equivaler à Z..).. Ou então, no quaternion, X vezes Y vai ser igual à Z, etc.. X vezes Y vezes Z é igual à -1, e X ao quadrado é igual à Y ao quadrado, que é igual à Z ao quadrado, que é igual à X vezes Y vezes Z, que é igual à -1... XDD

http://en.wikipedia.org/wiki/Quaternion

A Beleza está entre a Ética e a Razão!..

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 710604.

Total de membros registrados: 138067

Últimos membros registrados: oxyscrema, ennecopro, bodybloom, NutrimRezensionDE, Suvasha026, wrinkless, waltereastmood, Guerr4h.

Usuário(s) on-line na última hora: 715, sendo 21 membro(s) e 694 visitante(s).

Membro(s) on-line na última hora: gilson antunes, emersonforentin, Geraldo Nunes, Acfabbri, mastermax, Sergio1987, Roberto Movanni, Frederico Wagner N. R., Duda, pedroluiz, Daniel Monteiro, Carlos E. Nogueira, Eng Damasceno, Le_Andro, Celso Borttoloto, TadeuB79, oxyscrema, Gibran Farfud, Marco Rocha, Diego Dneo, dallest91.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.