项目经验总结(1)

本文分享了Unity3D中实现相机跟随角色及怪物死亡后重生的方法。通过设置角色位置的静态属性实现相机跟随,利用数组记录怪物状态并实现定时重生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎来到unity学习unity培训
这里有很多U3D资源U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌


项目经验总结(1)


1、关于相机跟随的:

    今天因为老师让我们要项目中主角是进入场景中时克隆出来,这个我感觉难点不是克隆,而是相机跟随,因为相机跟随的脚本需要拉近主角,但是我拉预设体的话相机是原地不动的。

    经过试验之后,我找到了一个好办法,那就是因为主角只有一个,所以我大胆的在主角脚本里弄了个实时接收主角坐标的一个静态属性,这样既能在其他的脚本中调用这个属性,还能做到数据同步。嘿嘿,这样相机只要调用这个属性,来确定主角的位置就可以了,不再需要将对象拉近脚本中
  

    我的代码:

    public static Vector3 PlayerTransfrom;//静态函数,用来存放现在的位置的

    void Update () {

        PlayerTransfrom = transform.position;//讲现在的位置赋给静态函数,照相机脚本通过调用静态函数来做跟随

    }



2、关于怪物死亡之后的重生



    这个我是通过数组来记录怪物,然后在Update里判断数组里是否为空,为空时,倒计时开始走表,到时间时克隆该怪物。当然,因为要想的是原地克隆,所以我专门吧倒计时弄成了数组,一个倒计时对应一个怪物的克隆。不过这样有瑕疵,就是原有的东西很多都会失效,这是因为一开始是本来就有的,而克隆的只是预设体,这个没有同步,所以我就把场景里的怪全部删掉了,在脚本的start中直接克隆出第一批出来。



    我的代码:(因为都是重复的,我就用数组中的一个来做实例吧



    public GameObject mus;//蘑菇的预设体

    private GameObject[] mush=new  GameObject [5];//蘑菇数组

    Vector3 mus0;//位置存放的函数

    float[] time = { 10.0f, 10.0f, 10.0f, 10.0f, 10.0f };//蘑菇重生的倒计时



    void Start () {
        //蘑菇的位置
        mus0 = new Vector3(23.45769f, 60.02081f, 144.8808f);

        //蘑菇的第一次生成
        mush[0] = Instantiate(mus, mus0, Quaternion.identity) as GameObject;}



    void Update () {
        if (mush[0] == null) {//判断是否为空
             if (time[0] < 0){//当时间小于0的时候
                mush[0] = Instantiate(mus, mus0, Quaternion.identity) as GameObject;//克隆,并且赋值给数组
                time[0] = 5.0f;//重置时间

            }
            time[0] = time[0] - Time.deltaTime;//计时器
        }

    }



好了,今天就先这样吧,我还有很多没有搞懂的地方,明天看来又要好好干活了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值