unity中如何解决两个物体的绑定
2016-05-26 14:43
741 查看
针对如何实现unity中两个物体的同时运动,并且合并在一起进行绑定,我总结了主要有以下几种办法:
假设要绑定的物体分别是A和B
1.把A物体放进B物体中,A物体作为B物体的子物体,这样就把B物作为父物体,这样不管B物移动到那里,它和A保持的距离还是一致的。不会因为B移动,A就离B远了。
2.导入unity中自带的跟随物体的脚本SmoothFollow。可以自行设置两者的距离和高度,得到你的要求。
3,自己写脚本控制。 脚本如下:
using UnityEngine;
using System.Collections;
public class FllowTarget : MonoBehaviour {
public Transform B; //A要跟随的B
public float smoothTime = 0.01f; //A平滑移动的时间
private Vector3 AVelocity = Vector3.zero;
private A mainA; //A
void Awake ()
{
mainA = A.main;
}
void Update()
{
transform.position = Vector3.SmoothDamp(transform.position, B.position + new Vector3(0, 0, -5), ref AVelocity, smoothTime);
}
}
将这段代码拖动给A,然后记得添加B 。好了 现在你就能看见效果了。
B.position + new Vector3(0, 0, -5)这个就是相当于A的位置,也就是A距离B往后5个单位长度。此处也可以根据情况将两者设置为重合,不需要加位移。
主要就是Vector3.SmoothDamp() 这个函数。里面的第一个参数就是当前的位置。 第二个参数就是要接近的位置。 第三个参数就是 当前速度,这个值由你每次调用这个函数时被修改。 第四个参数就是完成这个位移移动所花费的时间。
假设要绑定的物体分别是A和B
1.把A物体放进B物体中,A物体作为B物体的子物体,这样就把B物作为父物体,这样不管B物移动到那里,它和A保持的距离还是一致的。不会因为B移动,A就离B远了。
2.导入unity中自带的跟随物体的脚本SmoothFollow。可以自行设置两者的距离和高度,得到你的要求。
3,自己写脚本控制。 脚本如下:
using UnityEngine;
using System.Collections;
public class FllowTarget : MonoBehaviour {
public Transform B; //A要跟随的B
public float smoothTime = 0.01f; //A平滑移动的时间
private Vector3 AVelocity = Vector3.zero;
private A mainA; //A
void Awake ()
{
mainA = A.main;
}
void Update()
{
transform.position = Vector3.SmoothDamp(transform.position, B.position + new Vector3(0, 0, -5), ref AVelocity, smoothTime);
}
}
将这段代码拖动给A,然后记得添加B 。好了 现在你就能看见效果了。
B.position + new Vector3(0, 0, -5)这个就是相当于A的位置,也就是A距离B往后5个单位长度。此处也可以根据情况将两者设置为重合,不需要加位移。
主要就是Vector3.SmoothDamp() 这个函数。里面的第一个参数就是当前的位置。 第二个参数就是要接近的位置。 第三个参数就是 当前速度,这个值由你每次调用这个函数时被修改。 第四个参数就是完成这个位移移动所花费的时间。
相关文章推荐
- unity实现多点触控代码
- 在Unity中实现动画的正反播放代码
- Unity UGUI教程之实现滑页效果
- unity实现摄像头跟随
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关
- [软件资讯]Unity已支持将3D游戏导出成Flash
- ShaderLab: Pass
- Unity 武器拖尾效果
- unity常见问题之20题
- Unity3D动画存储插件
- unity 赛车相机跟随物体移动
- uLua中遇到的问题
- Unity3d 协程、调用函数、委托
- Unity3d摄像机Camera参数详解
- Unity3d多线程
- 猫都能学会的Unity3D Shader入门指南(一)