【Laya项目bug】不定时更新

  1. Laya.Tween.to方法

如果设置的默认返回对象池,记得不用的时候要手动clear掉,不然很容易报对象null

2.运动型粒子大小不符合预期

查找是否父节点也是运动物体,如果是,需要重新调节乘算因子

3.相机内模型丢失

注意检查相机的设置,观察模型是否在渲染范围内

4.模型闪烁

1)观察模型面片是否重合
2)修改相机near值为1的倍数

5.相机的平滑移动
有点麻烦,仿造unity的处理方式,这样相机就会一直以固定的距离一直平滑跟随人物模型运动。
其中this.camera是主相机
this.roleNode是人物模型
人物初始位置(0,0,800)
相机初始位置(0,1000,-1000)
平滑度可以调节movespeed

/** 处理相机跟随 */
onLateUpdate(){

    if(!this.camera) return;

    var movespeed = 0.008;

    var newPos = new Laya.Vector3();
    Laya.Vector3.add(this.roleNode.transform.position,new Laya.Vector3(0,1000,0),newPos);

    //计算模型前方向量
    var forward = new Laya.Vector3();
    this.roleNode.transform.getForward(forward);

    //计算相机到人物模型的距离
    var distance = Laya.Vector3.distance(new Laya.Vector3(0,0,800),new Laya.Vector3(0,1000,-1000));
    var distanceVector = new Laya.Vector3();
    Laya.Vector3.multiply(forward,new Vector3(distance,distance,distance),distanceVector);
    Laya.Vector3.add(newPos,distanceVector,newPos);

    //相机坐标差值运算
    var endPos = new Laya.Vector3();
    Laya.Vector3.lerp(this.camera.transform.position,newPos,Laya.timer.delta*movespeed,endPos);
    this.camera.transform.position = endPos;

    //相机对着模型后屁股 y轴为up方向
    this.camera.transform.lookAt(this.roleNode.transform.position,new Laya.Vector3(0,1,0),false);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。