跳到正文
Hiveworkshop· FeelsGoodMan·· 4 小时前AI 评分0

Hiveworkshop 发布女法师 FPS 手臂模型资源

Sorceress FPS Arms

AI 导读

Hiveworkshop 发布了一对可分别附加的左、右女法师 FPS 手臂模型资源,包含站立、行走、攻击与引导等简单动画。资源需搭配 FDF 与 TOC 文件实现光照以避免黑屏,并提供演示地图及 Lua 附加代码。

正文

Super niche model resource, but decided to post anyway.

A pair of sorceress arms trimmed off. Made some simple animations for them:

  • Stand
  • Walk
  • Attack
  • Stand Channel

There is one left arm and one right arm, to be attached separately. They are not perfect, but editing sprite models is such a hassle so I settled on this.

FDF and TOC required for light so the arms aren't black: https://www.hiveworkshop.com/attachments/fpscamera-rar.621565/

Demo map here (demo map is vibe coded): https://www.hiveworkshop.com/attachments/demomap-w3x.621566/

See how to attach the arms below:

Lua:

function CreateSorceressArms()
    BlzLoadTOCFile("FPSCamera\\ArmLighting.toc")

    local world = BlzGetOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0)
    local root = BlzCreateFrameByType(
        "FRAME", "SorceressArmsRoot", world, "", 1
    )

    BlzFrameSetAllPoints(root, world)
    BlzFrameSetLevel(root, 50)
    BlzFrameSetEnable(root, true)

    -- All parent frames must remain visible.
    for _, frame in ipairs({
        BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), world, root
    }) do
        BlzFrameSetVisible(frame, true)
        BlzFrameSetAlpha(frame, 255)
    end

    local function AttachArm(path, index)
        local frame = BlzCreateFrame(
            "FPSCameraLitArmSprite", root, 0, index
        )

        BlzFrameSetVisible(frame, true)
        BlzFrameSetAlpha(frame, 255)
        BlzFrameSetLevel(frame, index)
        BlzFrameClearAllPoints(frame)
        BlzFrameSetAbsPoint(frame, FRAMEPOINT_TOPLEFT, 0.4, 0.3164447)
        BlzFrameSetAbsPoint(frame, FRAMEPOINT_BOTTOMRIGHT, 0.7156439, 0.0)
        BlzFrameSetSize(frame, 1.0, 1.0)
        BlzFrameSetScale(frame, 1.43)
        BlzFrameSetModel(frame, path, 0)
        BlzFrameSetSpriteAnimate(frame, 2, 648)

        return frame
    end

    return AttachArm("FPSCamera\\SorceressLeftSprite.mdx", 1),
           AttachArm("FPSCamera\\SorceressRightSprite.mdx", 2)
end

来源:Hiveworkshop · hiveworkshop.com