猫史档案馆


【深夜福利】适用于所有新版编辑器皮肤模板的皮肤穿戴代码,出炉了!

用户:yee剑走天下yee剑走天下查看:15 回复:12 评论:15 创建时间:2023-08-14T22:17:12


到底适不适应全部不知道(但是美术喵那一堆猫岛人物类的npc绝对适用!

用法:把模型拆分开一堆部件,然后命名为xxx-部位,xxx为皮肤名称。例:男装-身体、男装-左上臂等

function suit(entity, skin) {
    let suitList = [
        [`mesh/${skin}-身体.vb`, GameBodyPart.TORSO, Quat, 0.8, [0, 0.05, 0]],
        [`mesh/${skin}-胯.vb`, GameBodyPart.HIPS, Quat, 0.8, [0, -0.25, 0]],
        [`mesh/${skin}-右上臂.vb`, GameBodyPart.RIGHT_SHOULDER, Quat.rotateX(-Greed * 30), 0.8, [-0.2, 0, 0]],
        [`mesh/${skin}-右下臂.vb`, GameBodyPart.RIGHT_LOWER_ARM, Quat.rotateX(-Greed * 40), 0.8, [0, 0, 0]],
        [`mesh/${skin}-右手.vb`, GameBodyPart.RIGHT_HAND, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-左上臂.vb`, GameBodyPart.LEFT_SHOULDER, Quat.rotateX(Greed * 30), 0.8, [0.2, 0, 0]],
        [`mesh/${skin}-左下臂.vb`, GameBodyPart.LEFT_LOWER_ARM, Quat.rotateX(Greed * 40), 0.8, [0, 0, 0]],
        [`mesh/${skin}-左手.vb`, GameBodyPart.LEFT_HAND, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-右上腿.vb`, GameBodyPart.RIGHT_UPPER_LEG, Quat, 0.8, [0, -0.15, 0]],
        [`mesh/${skin}-右下腿.vb`, GameBodyPart.RIGHT_LOWER_LEG, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-右脚.vb`, GameBodyPart.RIGHT_FOOT, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-左上腿.vb`, GameBodyPart.LEFT_UPPER_LEG, Quat, 0.8, [0, -0.15, 0]],
        [`mesh/${skin}-左下腿.vb`, GameBodyPart.LEFT_LOWER_LEG, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-左脚.vb`, GameBodyPart.LEFT_FOOT, Quat, 0.8, [0, 0, 0]]
    ]
    for (let i in entity.player.skinInvisible) {
        entity.player.skinInvisible[i] = true;
    };
    for (let i of suit) {
        entity.player.addWearable({
            mesh: i[0],
            bodyPart: i[1],
            orientation: i[2],
            scale: new Array(3).fill(i[3]),
            offset: i[4]
        })
    }
}


回复

上一页1 页 / 共 1下一页
鸽王懒狗鸽王懒狗

蛤(!?

点赞0


评论


Mini_editMini_edit

沙发

点赞0


评论


yee剑走天下yee剑走天下

上面的代码有点小问题,以这个为准:

function suit(entity, skin) {
    const Quat = new GameQuaternion(0, 0, 0, 1);
    const Greed = Math.PI / 90;
    const suitList = [
        [`mesh/${skin}-身体.vb`, GameBodyPart.TORSO, Quat, 0.8, [0, 0.05, 0]],
        [`mesh/${skin}-胯.vb`, GameBodyPart.HIPS, Quat, 0.8, [0, -0.25, 0]],
        [`mesh/${skin}-右上臂.vb`, GameBodyPart.RIGHT_SHOULDER, Quat.rotateX(-Greed * 30), 0.8, [-0.2, 0, 0]],
        [`mesh/${skin}-右下臂.vb`, GameBodyPart.RIGHT_LOWER_ARM, Quat.rotateX(-Greed * 40), 0.8, [0, 0, 0]],
        [`mesh/${skin}-右手.vb`, GameBodyPart.RIGHT_HAND, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-左上臂.vb`, GameBodyPart.LEFT_SHOULDER, Quat.rotateX(Greed * 30), 0.8, [0.2, 0, 0]],
        [`mesh/${skin}-左下臂.vb`, GameBodyPart.LEFT_LOWER_ARM, Quat.rotateX(Greed * 40), 0.8, [0, 0, 0]],
        [`mesh/${skin}-左手.vb`, GameBodyPart.LEFT_HAND, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-右上腿.vb`, GameBodyPart.RIGHT_UPPER_LEG, Quat, 0.8, [0, -0.15, 0]],
        [`mesh/${skin}-右下腿.vb`, GameBodyPart.RIGHT_LOWER_LEG, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-右脚.vb`, GameBodyPart.RIGHT_FOOT, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-左上腿.vb`, GameBodyPart.LEFT_UPPER_LEG, Quat, 0.8, [0, -0.15, 0]],
        [`mesh/${skin}-左下腿.vb`, GameBodyPart.LEFT_LOWER_LEG, Quat, 0.8, [0, 0, 0]],
        [`mesh/${skin}-左脚.vb`, GameBodyPart.LEFT_FOOT, Quat, 0.8, [0, 0, 0]]
    ];
    entity.player.scale += 0.2;
    for (let i in entity.player.skinInvisible) {
        entity.player.skinInvisible[i] = true;
    };
    for (let i of suitList) {
        entity.player.addWearable({
            mesh: i[0],
            bodyPart: i[1],
            orientation: i[2],
            scale: new Array(3).fill(i[3]),
            offset: i[4]
        })
    }
};

附效果图一张:center_image

点赞1


评论


fjskdfjslkdfjskdfjslkd

沙发

点赞0


评论


fjskdfjslkdfjskdfjslkd

额,龙椅

点赞0


评论


无敌版滑稽战神无敌版滑稽战神

我试试()

点赞0


评论


PoiresPoires

太肝了,)()()(

点赞1


评论


天冷记得盖被子天冷记得盖被子

点赞0


评论


努力学习的包酱努力学习的包酱

泰裤辣()

点赞0


评论


KeluoKeluo

泰裤辣!

点赞0


评论


此人为迪迦此人为迪迦

这件事真的是——泰酷拉)

点赞0


评论


小鹿UUyM小鹿UUyM

这段代码是一个名为`suit`的函数,接受两个参数:`entity`和`skin`。它用于在游戏中为角色添加套装(服装)效果。

首先,函数内部定义了一些常量和变量:
- `Quat`是一个四元数对象,用于表示旋转。
- `Greed`是一个角度值,表示旋转的角度大小。
- `suitList`是一个数组,包含了不同身体部位和套装的对应关系。每个元素都是一个包含五个元素的数组,分别表示:
- `mesh`:套装的模型文件路径。
- `bodyPart`:身体部位,如`GameBodyPart.TORSO`表示躯干。
- `orientation`:旋转方向,使用`Quat`对象进行旋转。
- `scale`:套装的缩放比例。
- `offset`:套装在身体的偏移量。

接下来,函数对`entity.player`进行了一些修改:
- `scale`属性增加0.2,使角色稍微放大一点。
- `skinInvisible`属性被设置为`true`,表示将某些身体部位设置为不可见。

最后,函数使用循环遍历`suitList`数组,为`entity.player`添加可穿戴的套装效果。每个套装效果包括以下属性:
- `mesh`:套装的模型文件路径。
- `bodyPart`:身体部位。
- `orientation`:旋转方向。
- `scale`:套装的缩放比例。
- `offset`:套装在身体的偏移量。

这段代码的作用是根据传入的`entity`和`skin`参数,为游戏中的角色添加指定的套装效果。

点赞1


评论