[开发者心得] 肘~,一起去伟大的航路!

[复制链接]
1575 |4
许你春秋 发表于 2023-7-20 10:39:47 | 显示全部楼层 |阅读模式
本帖最后由 许你春秋 于 2023-7-20 10:47 编辑





食材准备----
ONP1.png

方块 *1 :关闭碰撞,换上水面材质,制作出海面
车轮 *1 :关闭显示,当做船力的支撑点
高级载具 *1 : 制作动力部分
船模型 *1 :制作外观

料理过程----
1.将高载具放置在水面下方,将船身模型和轮车模型挂到高级载具对象子级,调整船身在水面的位置 ONP3.png

2.调整四个车轮的位置, ONP2.png ,我把四个车轮的位置放在偏向船身内部,这么做可以在前后移动和转弯时,借助船车模型的自身的质量和质心,使船有一点点倾斜,看起来更加像是在水面移动。

3.简单写一个载具的控制脚本



@Core.Class
export default class NewScript extends Core.Script {

    /** 当脚本被实例后,会在第一帧更新前调用此函数 */
    protected async onStart(): Promise<void> {

        let player = await Gameplay.asyncGetCurrentPlayer();  //找到角色
        let VehicleOSK = await Core.GameObject.asyncFind("1F673F5E") as Gameplay.AdvancedVehicle;  //找到载具

        //通过按钮1,绑定载具的控制权

        InputUtil.onKeyDown(Type.Keys.One,()=>{
            VehicleOSK.setDriver(player);
        });

        //通过按钮Up,控制载具前近

        InputUtil.onKeyDown(Type.Keys.Up,()=>{
            VehicleOSK.setThrottleInput(1);
        });
        InputUtil.onKeyUp(Type.Keys.Up,()=>{
            VehicleOSK.setThrottleInput(0);
        });

        //通过按钮Down,控制载具后退

        InputUtil.onKeyDown(Type.Keys.Down,()=>{
            VehicleOSK.setThrottleInput(-1);
        });
        InputUtil.onKeyUp(Type.Keys.Down,()=>{
            VehicleOSK.setThrottleInput(0);
        });


        //通过按钮left,控制载具左转

        InputUtil.onKeyDown(Type.Keys.Left,()=>{
            VehicleOSK.setSteeringInput(-1);
        });
        InputUtil.onKeyUp(Type.Keys.Left,()=>{
            VehicleOSK.setSteeringInput(0);
        });

        //通过按钮Right,控制载具左转
        InputUtil.onKeyDown(Type.Keys.Right,()=>{
            VehicleOSK.setSteeringInput(1);
        });
        InputUtil.onKeyUp(Type.Keys.Right,()=>{
            VehicleOSK.setSteeringInput(0);
        });

    }
}





回复

使用道具 举报

汽汽汽汽水 发表于 2023-7-20 10:43:20 | 显示全部楼层
回复

使用道具 举报

Cheems 发表于 2023-7-20 11:07:21 | 显示全部楼层
回复

使用道具 举报

猪头BOOM 发表于 2023-7-20 12:34:55 | 显示全部楼层
回复

使用道具 举报

kk 发表于 2023-7-23 19:40:04 | 显示全部楼层
牛逼
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表