猫史档案馆


BDS白糖

BDS白糖

Lv.1

[破碎的梦想] 2016年入,2022年退坑了,别找我了退坑了

获赞:2715收藏:2107浏览:73663作品收藏:1271

签名:目标:7000点赞、20w浏览√、7000收藏、1500再创作,还有作为六位数编号的训练师 [星推荐]! 岛3猛鬼宿舍的专属建模师 武装战舰协作人员 糖屋素材铺:https://shequ.codemao.cn/wiki/forum/281631 现在没人看素材铺了诶 徒弟失踪了,还是收徒的 我绝不抄袭作品 一直在写程序 ,还有一大堆Bug…… 不想修复联机bug…… 马上出星海璀璨 需要帮助的可以找我帮你,有时间就会来。 要跟我长期合作的能不能给我个全能啊(我真的啥都会) 爱写评论

回复帖子评论
上一页9 页 / 共 11下一页

推荐游戏——放学别跑!!!!!!!!!! 中回复

我推荐个——《传说之下》(超级喵滑稽,做UT做疯了)

2020-05-29T21:51:34 点赞:0

(获奖名单见评论区置顶)【六一活动】来时光游乐园玩游戏、寻线索、找宝藏! 中回复

【确定密码】61时光重返童年

2020-05-30T12:40:12 点赞:0

哪里不对吗? 中回复

我****,你B啊!直接 重复执行『清除画笔 文字印章:把【你还有】【血量(变量)】【滴血】』

2020-06-05T23:18:26 点赞:0

你是不是社区【最强导师】? 中回复

一个徒弟额

 

2020-06-21T21:07:39 点赞:0

NOC编程猫创新编程热身活动已经开启,快速热身赛通道,喵→ 中回复

emmmm……难吗?

2020-07-03T17:09:18 点赞:0

糖屋素材铺取货位置 中回复

@B站minecraft友军 center_image

2020-07-20T08:36:54 点赞:0

【暑期活动】社区史上周边奖励最多的小说、表情包、绘画活动!!! 中回复

center_image

2020-07-20T08:48:05 点赞:1

【暑期活动】源码积木表情包~~创作专属表情包!!!(获奖名单已公布) 中回复

center_image

2020-07-20T08:51:38 点赞:0

【暑期活动】源码积木表情包~~创作专属表情包!!!(获奖名单已公布) 中回复

center_image

2020-07-20T17:26:40 点赞:1

【获奖已公布】源码精灵同人大征文 中回复

 看我头像识本命精灵

2020-07-21T09:57:53 点赞:0

紧急求助!!! 中回复

游戏名打错了,是Phoenix 2

2021-01-19T13:35:06 点赞:0

糖屋工作室招人啦! 中回复

关于图标选择

该回帖后面回复

第一张扣1

第二张扣2

第三张扣3

2021-07-13T20:38:57 点赞:0

糖屋工作室招人啦! 中回复

图标:

1center_image

2

center_image

3

center_image

2021-07-15T22:46:45 点赞:0

尴尬尴尬尴尬 中回复

我填了淦,名字先别变回去了,过审再变

2021-08-23T20:18:27 点赞:0

hope city广告位招租 中回复

我要,链接给你 https://shequ.codemao.cn/work/78100919

2021-11-07T22:15:42 点赞:0

圣诞创作节下半场倒计时1天,加油! 中回复

所以上半场冠军是哪一个

2021-12-11T09:50:55 点赞:0

急急急急急急 中回复

啊啊啊我会了

2021-12-12T07:04:39 点赞:0

每日一个岛3建图小技巧:教你飞檐走壁! 中回复

《小飞侠》

2022-01-09T13:46:20 点赞:0

找活干-建模-音乐-地图 中回复

岛三炸了,进不去

2022-01-09T13:49:44 点赞:0

每日一个岛3建图小技巧:教你飞檐走壁! 中回复

真     不     错

console.clear()

/** --------------生成围墙的代码----------------- */
for (let x = 0; x < 126; x++) {
    for (let y = 9; y < 126; y++) {
        voxels.setVoxel(x, y, 0, 'stone')
        voxels.setVoxel(x, y, 125, 'stone')
    }
}
for (let z = 0; z < 126; z++) {
    for (let y = 9; y < 126; y++) {
        voxels.setVoxel(0, y, z, 'stone')
        voxels.setVoxel(125, y, z, 'stone')
    }
}
/** --------------生成围墙的代码----------------- */


world.onPlayerJoin(({ entity }) => {
    entity.player.onPress(async ({ raycast, button }) => {
        // 点击鼠标左键 发射蛛丝,并飞向蛛丝射中的位置
        if (button == Box3ButtonType.ACTION0) {

            // 首先实现发射蜘蛛丝的效果
            // 并拿到蜘蛛丝的实体做后续操作
            const spiderSilk = fireSpiderSilk(raycast, entity)

            // 使用animate模拟飞行过程中,蛛丝逐渐缩短的效果
            shortenSpiderSilk(raycast, spiderSilk)

            await sleep(1000)

            // 蛛丝开始缩放后,给玩家沿着蛛丝方向的速度,模拟蛛丝拉扯飞行的效果
            firePlayer(raycast, entity)

            // 最后要记得销毁蛛丝,避免卡顿
            await sleep(500)
            spiderSilk.destroy()
        }
    })
})

/** 发射玩家 */
function firePlayer(raycast, entity) {
    // 准心击中位置与玩家位置做向量减法,获得蛛丝的方向向量
    const direction = raycast.hitPosition.sub(entity.position)
    // 给方向向量乘以一个合适的系数,模拟玩家飞出去的效果。y轴速度小一些的原因是避免飞太高
    const velocity = new Box3Vector3(direction.x * 0.15, direction.y * 0.1, direction.z * 0.15)
    entity.velocity = velocity.clone()

    // 小技巧~~如果射中了其他玩家,可以给他一个反方向速度,模拟粘过来的效果
    if (raycast.hitEntity && raycast.hitEntity.isPlayer) {
        raycast.hitEntity.velocity = velocity.scale(-1)
    }
}

/** 蛛丝缩短的效果 */
function shortenSpiderSilk(raycast, spiderSilk) {
    // 飞行过程中,蛛丝变化的属性有:position、meshScale
    // 如果只缩短蛛丝,而不更改蛛丝位置,不能完整模拟出效果
    // 蛛丝初始生成位置
    const startPos = spiderSilk.position
    // 蛛丝在缩短的过程中需要移动到准心击中的位置
    const endPos = raycast.hitPosition
    // 蛛丝初始缩放值
    const initialScale = spiderSilk.meshScale
    // 蛛丝最终需沿x轴缩到最短
    const endScale = new Box3Vector3(0, 1 / 16, 1 / 16)
    const ani = spiderSilk.animate([
        { position: startPos, meshScale: initialScale, duration: 1 },
        { position: endPos, meshScale: endScale, duration: 0 },
    ])


    ani.play({
        duration: 16 * 0.45, // 播放过程0.45秒,如需更改缩放时间,更改这个数值。相应的也需更改玩家的飞行速度
        iterations: 1, // 只播放一次
        direction: Box3AnimationDirection.NORMAL, // 正常播放
    })
}

/** 发射蜘蛛丝 */
function fireSpiderSilk(raycast, entity) {
    // 摧毁准心对准的方块,用来标记击中的位置
    voxels.setVoxel(raycast.voxelIndex.x, raycast.voxelIndex.y, raycast.voxelIndex.z, 0)
    // 准心击中位置与玩家位置做向量减法,获得蛛丝的方向向量
    const direction = raycast.hitPosition.sub(entity.position)
    // 通过射出的方向向量,计算出蛛丝的旋转四元数
    const meshOrientation = getOrientationByVector(direction)
    // 准心击中位置与玩家位置的距离,为蛛丝的长度
    const distance = raycast.hitPosition.distance(entity.position)
    // 1/16 为基准缩放值。蛛丝的设计模型为沿x轴方向设计,且为两个方块长度。因此x轴缩放值为1 / 16 * distance / 2
    const initialScale = new Box3Vector3(1 / 16 * distance / 2, 1 / 16, 1 / 16)
    // 蛛丝的生成位置应为 准心击中位置与玩家位置的向量插值的中心点
    const initialPos = entity.position.lerp(raycast.hitPosition, 0.5)
    // 用各种计算好的数值创建蛛丝
    const spiderSilk = world.createEntity({
        mesh: "mesh/钢丝.vb",
        position: initialPos,
        collides: false,
        gravity: false,
        meshScale: initialScale,
        meshOrientation: meshOrientation
    })
    return spiderSilk
}

// 本示例中用到的钢丝模型为沿着x轴方向设计。因此用的Box3Quaternion(0, 0, 0, 1)四元数去做旋转计算
// 如果大家使用沿其他轴向设计的模型,请使用下面注释的四元数去做旋转计算
const Quat = new Box3Quaternion(0, 0, 0, 1) // 沿x轴方向设计的蛛丝,初始化四元数,用于旋转计算
// const Quat = new Box3Quaternion(0.000, 0.000, -0.707, 0.707) // 沿y轴方向设计的资源用
// const Quat = new Box3Quaternion(0.000, 0.707, 0.000, 0.707) // 沿z轴方向设计的资源用

/** 通过射出的方向向量,计算出蛛丝的旋转四元数 */
function getOrientationByVector(vector3) {
    const src = vector3
    let dx = src.x
    let dy = src.y
    let dz = src.z
    let dist = Math.sqrt(dx * dx + dz * dz)
    const rotx = Math.atan2(dy, dist)
    return Quat.rotateX(rotx).rotateY(Math.atan2(dz, dx))
}

 

2022-01-09T13:51:24 点赞:0

岛三工作室 中回复

center_image

2022-01-12T19:36:46 点赞:0

求助各位大神! 中回复

非常的过分emotion_doge

我给你看代码

2022-01-17T17:25:33 点赞:0

求助各位大神! 中回复

center_image

2022-01-17T17:27:08 点赞:0

up计划第一期创作倒计时两个小时,加油! 中回复

好家伙我又能参加 imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E5%8A%A0%E6%B2%B9.gif"alt="emotion_编程猫_加油"imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E5%8A%A0%E6%B2%B9.gif"alt="emotion_编程猫_加油"

2022-01-20T22:42:54 点赞:0

岛三工作室 中回复

center_image

最新报道

2022-02-06T19:18:49 点赞:0

申请加入。 中回复

OK

记得在名字前加上BDS

2022-02-11T21:52:23 点赞:0

up计划第一期创作倒计时两个小时,加油! 中回复

害羞羞,终于到最后一天了

2022-02-19T09:22:36 点赞:0

【活动】一起来,码上感受冬奥 中回复

助力冬奥,码上来

2022-02-19T12:00:54 点赞:0

【阿吉快出来!!!】岛三又又崩啦 中回复

啊对对对

2022-02-20T13:43:49 点赞:0

up计划第一期创作倒计时两个小时,加油! 中回复

皮肤啥时候给啊

2022-02-20T17:41:38 点赞:0