2016-08-29 7 views
0

Я добавил куб в сцену, и я масштабировался и помещался в положение (0, 0, 0). Я масштабировании, что куб с кодом, прикрепленную к КубМасштабный игровой объект на одной стороне

IEnumerator Start() { 
    StartCoroutine("DoSomething", 2.0F); 
    yield return new WaitForSeconds(1); 
    StopCoroutine("DoSomething"); 
} 

IEnumerator DoSomething(float someParameter) { 
    while (true) { 
     transform.localScale += new Vector3(0, 0.1f, 0); 
     yield return null; 
    } 
} 

но Cube весы с обеих сторон, сверху и снизу. Я хочу масштабировать с одинаковым коэффициентом, но нижняя часть Cube остается на том же самом месте. Я попытался установить новое положение между transform.localScale += new Vector3(0, 0.1f, 0); и yield return null;, но я не знаю, как получить точную сумму. (я пытался читать

Mesh planeMesh = gameObject.GetComponent<MeshFilter>().mesh; 
     Bounds bounds = planeMesh.bounds; 
     bounds.size.y; 

до и после того, как масштаб и добавить к

transform.position.y Разница между boundsAfter.size.y и boundsBefore.size.y

, но он движется слишком много.

Как решить эту проблему?

+0

Вы проблема заключается в том, что вы только хотите масштабировать куб с одной стороны? только в направлении вверх не вверх и вниз при масштабировании? – Programmer

+0

@Programmer Да, например, если дно куба находится на 0 на координатах y после шкалы, я хочу остановиться на координатах 0 на y.На данный момент он масштабируется, но нижняя часть куба переходит к координатам менее 0 на y. –

ответ

3

Вы можете сделать это в два раза YS.

МЕТОД 1:

Изменение точки поворота из внешнего приложения.

Создайте простой куб в 3D-программном обеспечении, таком как майя, затем поместите точку поворота в нижнюю часть куба, а затем экспортируйте его Unity. Это должно работать из коробки.

МЕТОД 2:

Родитель Куб в пустую GameObject.

Шаги:

.Create пустой GameObject.

B. Передвиньте новый объект GameObject в положение куба, затем переместите ось y этого нового объекта GameObject в нижнюю часть куба. Y-pos должен располагаться точно с помощью масштабирования. Для получения дополнительной информации см. Анимацию ниже.

C .Now перетащить куб к этой новой GameObject и куб должен быть ребенок этого нового GameObject. Теперь вы можете приложить сценарий в своем вопросе к этому новому GameObject, и он должен масштабировать куб только с одной стороны. Не забудьте удалить старый сценарий масштабирования, который напрямую связан с кубом.

Image Tutorial. Высококачественная версия here.

enter image description here

Смежные вопросы