В уроке рассмотрена настройка физики в проекте. А так же:
- Что такое физический материал и их настройка.
- Основные параметры компонента Rigidbody.
- Применение физических сил к игровым объектам.
Скрипт из урока:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
using UnityEngine; using System.Collections; using UnityEngine.UI; public class Cannon : MonoBehaviour { public GameObject g; public Slider slider; public float minForce = 0f; public float maxForce = 30f; public float currentForce = 0f; public float stepForce = .5f; bool isUp = true; private Rigidbody r; // Use this for initialization void Start () { slider.maxValue = maxForce; slider.value = currentForce; r = GetComponent<Rigidbody>(); } // Update is called once per frame void Update () { if(isUp) { currentForce += stepForce; if(currentForce >= maxForce) isUp = false; } else { currentForce -= stepForce; if(currentForce <= minForce) isUp = true; } slider.value = currentForce; if(Input.GetMouseButtonUp(0)) { GameObject gObj = Instantiate<GameObject>(g); gObj.transform.position = transform.TransformPoint(-0.34f, 0.48f, 0.23f); gObj.transform.rotation = transform.rotation; Destroy(gObj, 5f); gObj.GetComponent<Rigidbody>().AddForce(transform.forward * currentForce + transform.up * currentForce / 5, ForceMode.Impulse); } float h = Input.GetAxis("Horizontal"); if(h != 0) { r.AddTorque(transform.up * h * maxForce); } } } |
1 комментарий
Какой у Ивана публичный канал на YouTube? Хотелось бы подписаться. А то эти видео лежат на рабочем.