昨天弄了四个小时还是没实现水下模糊的功能!!!
然后今天才发现动态挂载脚本的时候有个shader脚本没添加进去,那么现在问题来了,如何在动态挂载脚本之后向里面再添加函数呢??
昨天在网上百度的时候。。发现可以用预制体
然后今天就来学一学预制体
栗子:坦克开火
首先咱们来创建一个新项目
然后在里面创建一个方块和一个球
方块就叫他tanke 球就叫他子弹
可以任意拖个图片上去上个色啥的=-=
然后创建俩脚本一个叫tanke一个叫zidan好了
然后分别挂到相应的物体上去
tanke.cs
using UnityEngine;
using System.Collections;
public class tanke : MonoBehaviour {
public GameObject zidan;//这个需要在添加脚本之后把zidan那个球体拉进来
private GameObject zidan_;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetButtonDown ("Fire1")) {//当鼠标左键按下的时候
zidan_ = Instantiate (zidan,transform.position,transform.rotation);
//在坦克的中心生成一个预制体实例
zidan_.transform.parent = this.transform;
//这个实例是放在tanke物体下的
}
}
}
zidan.cs
using UnityEngine;
using System.Collections;
public class bullet : MonoBehaviour {
Vector3 fwd;
// Use this for initialization
void Start () {
fwd = transform.TransformDirection (Vector3.forward);
//3维向量
}
// Update is called once per frame
void Update () {
gameObject.GetComponent<Rigidbody> ().AddForce (fwd*100);
//在脚本中应用一个力
}
}
把子弹上的碰撞器脚本去掉 点击addcomponent加上一个刚体脚本rigidbody
然后在hierarchy下把zidan拉到assets文件夹里面=w=
然后把hirearchy里面的去掉,点击运行,点击鼠标左键就能发射子弹啦
然后我去研究脚本实例化了and明天和后天因为有考试所以不更新了QAQ