Render.ru

MOON!

#1
у меня такая трудность.....есть полёт камеры но когда я отдоляюсь луна уменьшаеться, а она должна быть статичного размера..как это можно сделать не ключами скайл?
 
#4
Вот и будет твоя луна летать за камерой, как сумасшедшая, сквозь деревья, если парентить. :о))) Надо тебе это? :о))) Может, я, конечно, не догоняю... Со мной все может быть... :о)))
 

zalexus

Активный участник
Рейтинг
13
#6
Вопрос такой. Если луна не изменяется в размерах, то как зритель определит, что объект удаляется?
 

Seerge

Активный участник
Рейтинг
19
#7
2zalexus: луна слишком далеко, чтобы оптически уменьшаться или увеличиваться...
если только конечно сцена не из аля "starwars" в космосе...
может подойдет imageplane attached to camera?
 
#8
А если луна не должна висеть во всех кадрах в одном и том же месте? А что scale не подходит? Можно было бы попробовать экспрешн написать - изменяется рассторяние от камеры до луны, луна скейлится...
 
#9
2Kivius думал, а в экспрешиналсе просто значение distance from camera ?
И экспершинался на атрибутах тапа скайл имеют рантайм значение?

Сейчас вот пробую с экспрешиналсом, напишу что пулучилось
 
#10
Написал экспрешинал, в теории всё правильно, скорей всего в синтаксисе ошибка

scale X = (distance from camera * "значени маштаба в начале када") / "значение растояни от камеры в начале кадра"

и ещё лажа у меня экспрешинался не сохраняеться.может из-за синтаксиса неправильного =(
 
#11
Определенно, если у тебя он неправильный, он не сохранится. В Textpad-е сохраняй. :о)))
 
#12
$scale=0.05;
float $dx = persp.translateX - nurbsSphere1.translateX;
float $dy = persp.translateY - nurbsSphere1.translateY;
float $dz = persp.translateZ - nurbsSphere1.translateZ;
float $dist = sqrt (($dx*$dx)+($dy*$dy)+($dz*$dz));


nurbsSphere1.scaleX =$dist*$scale;
nurbsSphere1.scaleY =$dist*$scale;
nurbsSphere1.scaleZ =$dist*$scale;


persp - название камеры
nurbsSphere1 - луна
$dist - расстояние от камеры до луны

луну только отодвинь подальше от камеры.
 
#13
чуть его переписал.....

$scale = 2.178; //начальный размер;
$distfirst = 126.33; //начальная дистанция;

float $dx = moon1.translateX - camera1.translateX;
float $dy = moon1.translateY - camera1.translateY;
float $dz = moon1.translateZ - camera1.translateZ;

float $dist = sqrt (($dx*$dx)+($dy*$dy)+($dz*$dz));


//пропорция;
moon1.scaleX =($dist*$scale)/$distfirst;
moon1.scaleY =($dist*$scale)/$distfirst;

посмотрел на координаты луны и камеры они стоят рядом а очень сильно разлчичаються, глюк мне совсем не понятный =((( а заново их создоавть не хочеться...
 
#16
Решатель,Driven key возможно проше если знать как.....почитаю в хелпе...но если тебе не трудно скажи как.....

а что с координатами я понял...я прсто сделал круг перемести и потом сделал плоскость вот он и добавил координаты....так что растояния от камеры не правильное.....

а можно как-то взять именно то значение которое пишеться на экране въюпорта?
 
#19
Это в композе наверное в конечном этоге и будет, но интересно как риелизовать данную задачу....тем болие получилось
 
#20
луна "статичного" маштаба....
Kivius, а как риализовать что бы это экспрешилс запускался с определённого кадра? сделать проверку на то что равен текущий кадр тому которому мне нужен и тогда это запустить.....с синтасиксисом можешь м не помочь плиз..

как правильно
if (frame == 175) {

bla;
bla;
bla;
}

?
 
Сверху