Когда я хочу переместить камеру из исходной позиции в пункт назначения, она выглядит настолько жесткой. Поэтому, если она может установить скорость перемещения, соответствующую смещению, как это сделать?Как перемещать камеру плавно в единстве3D?
ответ
Вы можете использовать плагины iTween. И если вы хотите, чтобы ваша камера двигалась с вашим объектом, т.е. следите за ней плавно. Вы можете использовать сценарий smoothFollow.
Я бы порекомендовал это тоже, у iTween есть много возможностей, чтобы сгладить подвижность, от каудакрита и кривой, которая заставила бы камеру двигаться быстро в начале, а затем замедлялась в конце, программирование могло бы ввести в заблуждение людей, которые еще не использовали iTween, но это действительно стоит, joi, Nick's Answer в значительной степени ответ для этого, обязательно отметьте его. –
спасибо все.I использование Vector3.smoothDamp. – joi
Вы пробовали использовать Vector3.MoveTowards? Вы можете указать размер шага для использования, который должен быть достаточно гладким.
http://docs.unity3d.com/Documentation/ScriptReference/Vector3.MoveTowards.html
В любом случае, спасибо – joi
public Vector3 target; //The player
public float smoothTime= 0.3f; //Smooth Time
private Vector2 velocity; //Velocity
Vector3 firstPosition;
Vector3 secondPosition;
Vector3 delta;
Vector3 ca;
tk2dCamera UICa;
bool click=false;
void Start(){
ca=transform.position;
UICa=GameObject.FindGameObjectWithTag("UI").GetComponent<tk2dCamera>();
}
void FixedUpdate()
{
if(Input.GetMouseButtonDown(0)){
firstPosition=UICa.camera.ScreenToWorldPoint(Input.mousePosition);
ca=transform.position;
}
if(Input.GetMouseButton(0)){
secondPosition=UICa.camera.ScreenToWorldPoint(Input.mousePosition);
delta=secondPosition-firstPosition;
target=ca+delta;
}
//Set the position
if(delta!=Vector3.zero){
transform.position = new Vector3(Mathf.SmoothDamp(transform.position.x, target.x, ref velocity.x, smoothTime),Mathf.SmoothDamp(transform.position.y, target.y, ref velocity.y, smoothTime),transform.position.z);
}
}
Существует хороший учебник по этой проблеме, то, как правило, описывается в начале of all tutorials на сайте единства. Внутри Survival Shooter Tutorial есть объяснение, как сделать движение камеры в положение назначения гладким во время движения.
Вот код для перемещения камеры. Создайте сценарий, добавьте его в камеру и добавьте GameObject
, к которому вы хотите переместиться, в заполнитель сценариев. Он автоматически сохранит компонент Transform, как настройка в скрипте. (В моем случае это игрок учебника по выживанию):
public class CameraFollow : MonoBehaviour
{
// The position that that camera will be following.
public Transform target;
// The speed with which the camera will be following.
public float smoothing = 5f;
// The initial offset from the target.
Vector3 offset;
void Start()
{
// Calculate the initial offset.
offset = transform.position - target.position;
}
void FixedUpdate()
{
// Create a postion the camera is aiming for based on
// the offset from the target.
Vector3 targetCamPos = target.position + offset;
// Smoothly interpolate between the camera's current
// position and it's target position.
transform.position = Vector3.Lerp (transform.position,
targetCamPos,
smoothing * Time.deltaTime);
}
}
- 1. Как перемещать камеру в аннотацию?
- 2. Как плавно поворачивать камеру в единстве?
- 3. Как плавно перемещать изображение автоматически? в C#
- 4. Как перемещать курсор в Xcode плавно?
- 5. Как плавно перемещать кнопку в cocos2d Xcode
- 6. Как перемещать камеру по прямой линии в Three.js?
- 7. Как перемещать камеру вверху в three.js
- 8. Как перемещать микроволновую камеру Caliburn в ShellView?
- 9. Как перемещать камеру в файле matter.js
- 10. Как сделать камеру, следуя за объектом в единстве3d C#?
- 11. Как запустить встроенную камеру для Windows-телефона в единстве3D?
- 12. Как перемещать изображение плавно через Imageview Android
- 13. Как правильно перемещать Клавиша аналогового класса плавно?
- 14. Как плавно перемещать игрока между позициями?
- 15. Плавно перемещать пользовательские объекты в окне Powerbuilder
- 16. Записная книжка в единстве3d
- 17. Как плавно перемещать GMSMarker по координатам в Objective c
- 18. Как перемещать камеру в пределах границы в cocos2d Box2D
- 19. Плавно вращайте камеру в бесконечном бегуне на поворотах в Unity3d
- 20. Как перемещать камеру влево и вправо в LibGDX
- 21. Как перемещать камеру в Раджавали Виртуальная реальность для Android?
- 22. Как правильно поворачивать и перемещать трехмерную перспективную камеру в LibGDX
- 23. Как перемещать камеру в единстве Панорамный вид на улицу?
- 24. Как инициализировать/перемещать камеру в программе SpriteKit с помощью Swift?
- 25. Переключение между камерами в единстве3D
- 26. RectTransform tracking gameObject плавно
- 27. Как плавно перемещать UIView с пальцем пользователя на iOS
- 28. Как плавно перемещать курсор мыши с помощью Java?
- 29. Как перемещать изображение вверх и вниз плавно с помощью CSS?
- 30. Как перемещать мышь плавно по всему экрану с помощью java?
Что вы пробовали? Если вы не публикуете какой-либо код, мы не можем знать, что вы делаете, и не можете предложить никаких улучшений. –
Опишите, что вы пытали! –