npm 包 whs 使用教程

什么是 whs

whs 是一个基于 Three.js 的全新 3D 游戏引擎,它提供了许多更高级、更容易使用的 API,可以方便地构建 Web3D 网页游戏,支持物理引擎、骨骼动画和粒子系统等功能。whs 的底层构建于 Three.js 之上,让使用者可以更容易地基于 Three.js 的渲染管线和内部实现,同时又简化了一些复杂的操作与实现,让开发更流畅、简洁,且更容易上手。

安装与使用

安装

whs 可以通过 npm 包管理工具快速安装,只需在命令行中输入以下命令即可:

--- ------- ---

使用

在代码中,先引入 whs 模块:

------ - -- --- ---- ------

然后就可以创建 whs 应用程序:

----- --- - --- ---------
  --- --------------------
  --- ------------------
  --- ------------------
    --------- -
      -- --
      -- ---
      -- --
    -
  ---
  --- ---------------------
    -------- ---------
    --------- -
      ---------- ----
    -
  ---
  --- -------------------------
---

这里,我们创建了一个 whs 应用程序,该应用程序包含多个模块,包括元素模块、场景模块、相机模块、渲染模块和轨道控制模块。这些模块可以使我们更方便地创建场景、添加元素、渲染场景和控制相机等操作。

然后,我们可以添加一些三维物体到场景中,例如立方体:

----- --- - --- ---------
  --------- -
    ------ ---
    ------- ---
    ------ --
  --

  --------- --- -------------------------
    ------ --------
  ---

  --------- -
    -- --
    -- --
    -- -
  -
---

-------------

这里,我们通过 WHS.Box 类创建一个红色的立方体,并将其添加到 whs 应用程序的场景中。可以看到,用 whs 创建 3D 物体是非常简单的。除了立方体外,还有 WHS.Sphere、WHS.Plane 等类来创建其他类型的 3D 物体。

最后,我们需要启动 whs 应用程序:

------------

这样,就可以在浏览器中看到渲染出的 3D 场景了。

深入了解

在熟悉了 whs 的基本使用方法之后,我们还可以深入了解 whs 更高级的特性和使用方法。

物理引擎

whs 内置了 cannon.js 物理引擎,可以用来模拟物体的运动和碰撞。

----- ------ - --- ------------
  --------- -
    ------- --
    -------------- ---
    --------------- --
  --

  --------- --- -------------------------
    ------ --------
  ---

  ----- ---

  --------- -
    -- --
    -- ---
    -- -
  -
---

----- ------ - --- -----------
  --------- -
    ------ ----
    ------- ---
  --

  --------- --- -------------------------
    ------ --------
  ---

  --------- -
    -- -------- - -
  --

  -------- -
    ------------ -
  -
---

----- ----- - -----------------

--------------------
--------------------

---------------------- ------------- -- -- -------------- -- -
  -- ---
---

这里,我们创建了一个球体和一个平面,球体有质量,并添加了重力和碰撞检测,平面设置了弹性系数。

在场景中模拟物理运动和碰撞是很有趣的事情,而 whs 提供了非常简单的方式实现这些效果。

骨骼动画

whs 还支持骨骼动画,可以让三维模型更加灵活和生动。

----- --- - --- --------------
  ------- --- -------------------
  ---------------- ---------- -
    ------ --- ------------------
      ---------
      --- ---------------------------------
    --
  --
  ---- -----------------
---

------------------- -----------------------

-------------------------------- -- -
  ------------------------------
  ----------------
  -----------
---

-------------

这里,我们使用了 WHS.Importer 类来导入一个 JSON 格式的三维模型,并使用 WHS.AnimationModule 类启用对应的动画。可以通过 getAnimation() 方法获取对应的动画,然后设置循环方式、速度等参数。

粒子系统

whs 还支持粒子系统,可以创建出非常炫酷的特效。

----- ----- - --- -----------
  --------- -
    ------ ---
    ------- --
  --

  --------- --- -------------------------
    ------ ---------
    ----- ----------------
  ---

  --------- -
    -- --
    -- --
    -- -
  --

  --------- -
    -- -------- - -
  -
---

----- -- - --- --------------------
  --------- -
    ---------- -----
  --

  --------- --- ----------------------
    ----- ----
    ------ --------
  ---

  --------- -
    -- --
    -- --
    -- -
  --

  -------- -
    -------- ----
    --------- ---
  --

  -------- -
    --- ------------------------
      ---------- ----
      ---------- --- ---------------- -- ---
      ------- --- ---------------- -- --
    --
  -
---

---------------
------------

这里,我们添加了一个平面和一个粒子系统,使用 WHS.PointEmitterModule 类模拟了点发射器,让粒子系统发射出粒子。 WHS.ParticleSystem 类允许我们非常灵活地设置粒子系统的物理属性、发射器属性、粒子属性等。

总结

本文详细介绍了 npm 包 whs 的使用方法,并通过示例代码说明了 whs 的基本用法、高级特性等,希望对前端开发者有所帮助。whs 是一款非常强大、易于上手的 3D 游戏引擎,它可以使开发者更容易地构建 Web3D 游戏和特效,同时还支持物理引擎、骨骼动画和粒子系统等功能,非常值得学习和探索。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600671098dd3466f61ffdfd9


猜你喜欢

  • npm 包 wheaty 使用教程

    在前端开发中,npm 包是非常常见的。这些包提供了许多方便且可重用的工具和库。在本文中,我将介绍一个 npm 包 Wheaty,并提供使用教程和示例代码。 什么是 Wheaty Wheaty 是一个轻...

    4 年前
  • npm 包 wheaty-js-runtime 使用教程

    前言 随着前端开发技术的不断发展,开发人员们不仅需要具备深厚的前端技术基础,还需要熟练掌握许多辅助工具和库。其中,npm 是前端开发中至关重要的一个工具。npm 的强大和便捷性,使得我们可以轻松地管理...

    4 年前
  • npm 包 whech 使用教程

    随着前端工程化的发展,npm 包成为了项目中不可或缺的一部分。whech 是一款基于 gulp 的自动化构建工具,它可以帮助我们自动化地检测代码中的语法错误,并对我们的代码进行压缩、合并等操作。

    4 年前
  • npm 包 wheei 使用教程

    npm 是前端开发必备的包管理器之一,而 wheei 则是一个轻量级的工具,用于帮助我们快速创建响应式的网格布局。本篇文章将会详细介绍 wheei 的使用方法,并通过实例演示如何在项目中应用。

    4 年前
  • npm 包 wiesels-mousejs 使用教程

    介绍 wiesels-mousejs是一款轻量级的Javascript库,用于实时追踪鼠标的位置和行为。它能够帮助你更好的了解用户在页面上的行为,从而提高用户体验。

    4 年前
  • npm包wenxue使用教程

    前言 在前端开发中,有众多优秀的 npm 包可供使用,这些包中大部分都是为我们提供更简单、更有效的解决方案。在本篇文章中,我们将探讨一个名为wenxue的 npm 包,它为我们提供了一种更好的阅读体验...

    4 年前
  • npm 包 wenyi 使用教程

    在前端开发中,我们经常需要在项目中引入各种各样的依赖包来满足需求。npm (Node Package Manager) 是目前前端开发中最常用的包管理工具,它提供了大量的开源包供我们使用,而 weny...

    4 年前
  • npm 包 weo-redux-logger 使用教程

    在前端开发中,redux 已经成为了主流的状态管理库之一。而在 redux 的辅助开发工具中,logger 工具更是必不可少的一部分。npm 包 weo-redux-logger 就是其中一个常用的 ...

    4 年前
  • npm 包 wifi-cli-macos 使用教程

    如今,人们对于网络连接的要求越来越高,无论是在家庭还是办公场所,都需要更加稳定、快速、便捷的网络连接。如果我们在使用 mac 系统时需要连接无线网络,就可以使用 npm 包 wifi-cli-maco...

    4 年前
  • npm 包 wifi-control 使用教程

    在前端开发过程中,经常会遇到需要管理、控制本地网络 WiFi 的情况。npm 包 wifi-control 正是一款能够帮助我们在 Node.js 中控制 WiFi 功能的工具。

    4 年前
  • npm 包 wiesels-navbar 使用教程

    wiesels-navbar 是一款前端开发常用的 npm 包,它是一个轻量级、易用的导航栏组件,可以在您的网站或应用程序中方便快捷地创建和自定义导航菜单。 在本篇文章中,我们将介绍如何使用 wies...

    4 年前
  • npm 包 wifi-cli 使用教程

    简介 wifi-cli 是一个可以通过命令行控制 Wi-Fi 连接的 npm 包。它支持在 Windows、macOS 和 Linux 平台上运行,提供了方便快捷的 Wi-Fi 连接和管理功能。

    4 年前
  • npm 包 wifi-cc3000 使用教程

    前言 在现代生活中,无线网络已经成为人们日常生活的一部分。因此,无线网络技术也日渐成熟。而我所介绍的 npm 包 wifi-cc3000,则是针对一种无线网络芯片 CC3000 的 node.js 驱...

    4 年前
  • npm 包 wentto 使用教程

    前言 前端开发中,我们经常需要对网页进行监控,统计数据等等操作。wentto 是一款功能强大的监控工具,可以监控页面资源加载情况、AJAX 请求、错误异常等信息。在这篇文章中,我们将会详细讲解 wen...

    4 年前
  • npm 包 wheelevent.js 使用教程

    wheelevent.js 是一个用于监听鼠标滚轮事件的 JavaScript 库,它可以轻松地为 DOM 元素添加滚轮事件监听器,支持跨浏览器,并提供了丰富的回调函数选项。

    4 年前
  • npm 包 wheelhouse 使用教程

    1. 前言 前端开发中,我们常常需要使用各种各样的第三方包来实现我们的业务需求。npm 是一个非常优秀的包管理工具,十分方便我们使用第三方包。而 wheelhouse 是一个专门用于管理本地 npm ...

    4 年前
  • 使用 wifi-heat NPM 包进行 WiFi 网络调查的教程

    在许多情况下,需要监视和分析 WiFi 热点的强度和范围。这尤其适用于企业和公共场所,这些场所需要不间断的测量和各种报告。 在这篇文章中,我们将介绍一个称为 wifi-heat 的 NPM 软件包。

    4 年前
  • npm包 wifi-name 使用教程

    在开发前端应用程序时,我们有时需要访问设备的 WiFi 网络名称。但是在许多设备上,从 JavaScript 中访问 WiFi 名称是不可能的。幸运的是,npm 包 wifi-name 可以帮助我们轻...

    4 年前
  • npm 包 wifi-name-cli 使用教程

    wifi-name-cli 是一个基于 Node.js 开发的 npm 包,它能够让你从终端获取当前连接 Wi-Fi 的名称。使用这个包可以方便地获取当前 Wi-Fi 信息,避免通过图形化界面进行查找...

    4 年前
  • npm 包 wifi-names 使用教程

    在现代生活中,Wi-Fi 已经成为了无处不在的技术,人们已经离不开 Wi-Fi 了。但是,有时候我们需要寻找一些创新的方式来探测 Wi-Fi 网络。幸运的是,在 npm 上你可以找到一个名为 WiFi...

    4 年前

相关推荐

    暂无文章