【问题标题】:Text Loader is not loading in THREE.js文本加载器未在 THREE.js 中加载
【发布时间】:2022-01-06 22:14:35
【问题描述】:

我第一次尝试编写 THREE.js,当我尝试编写文本加载器时,我得到了黑屏,有人可以解决这个问题

错误是这样的,尝试加载它几次我得到这个错误

three.module.js:38595 GET http://192.168.8.104:8080/fonts/helvetiker_regular.typeface.json 404(未找到)

import './style.css'
import * as THREE from 'three'
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js'
import * as dat from 'dat.gui'
import typefaceFont from 'three/examples/fonts/helvetiker_regular.typeface.json'
import { FontLoader } from 'three/examples/jsm/loaders/FontLoader.js'
import { TextGeometry} from 'three/examples/jsm/geometries/TextGeometry.js'


/**
 * Fonts
 */
 const fontLoader = new FontLoader()

 fontLoader.load(
     '/fonts/helvetiker_regular.typeface.json',
     (font) =>
     {
         const textGeometry = new TextGeometry(
             'Hello Three.js',
             {
                 font:font,
                 size:0.5,
                 height:0.2,
                 curveSegments:12,
                 bevelEnabled: true,
                 bevelThickness: 0.03,
                 bevelSize: 0.02,
                 beveloffset:0,
                 bevelSegments: 5

             }
         )
         const textMaterial = new THREE.MeshBasicMaterial()
         const text = new THREE.Mesh(textGeometry, textMaterial)
         scene.add(text)
     }
 )
/**
 * Base
 */
// Debug
const gui = new dat.GUI()

// Canvas
const canvas = document.querySelector('canvas.webgl')

// Scene
const scene = new THREE.Scene()

/**
 * Textures
 */
const textureLoader = new THREE.TextureLoader()

/**
 * Object
 */
// const cube = new THREE.Mesh(
//     new THREE.BoxGeometry(1, 1, 1),
//     new THREE.MeshBasicMaterial()
// )

//scene.add(cube)

/**
 * Sizes
 */
const sizes = {
    width: window.innerWidth,
    height: window.innerHeight
}

window.addEventListener('resize', () =>
{
    // Update sizes
    sizes.width = window.innerWidth
    sizes.height = window.innerHeight

    // Update camera
    camera.aspect = sizes.width / sizes.height
    camera.updateProjectionMatrix()

    // Update renderer
    renderer.setSize(sizes.width, sizes.height)
    renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))
})

/**
 * Camera
 */
// Base camera
const camera = new THREE.PerspectiveCamera(75, sizes.width / sizes.height, 0.1, 100)
camera.position.x = 1
camera.position.y = 1
camera.position.z = 2
scene.add(camera)

// Controls
const controls = new OrbitControls(camera, canvas)
controls.enableDamping = true

/**
 * Renderer
 */
const renderer = new THREE.WebGLRenderer({
    canvas: canvas
})
renderer.setSize(sizes.width, sizes.height)
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))

/**
 * Animate
 */
const clock = new THREE.Clock()

const tick = () =>
{
    const elapsedTime = clock.getElapsedTime()

    // Update controls
    controls.update()

    // Render
    renderer.render(scene, camera)

    // Call tick again on the next frame
    window.requestAnimationFrame(tick)
}

tick()
*
{
    margin: 0;
    padding: 0;
}

html,
body
{
    overflow: hidden;
}

.webgl
{
    position: fixed;
    top: 0;
    left: 0;
    outline: none;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>13 - 3D Text</title>
</head>
<body>
    <canvas class="webgl"></canvas>
</body>
</html>

【问题讨论】:

    标签: javascript html css text three.js


    【解决方案1】:

    我检查了路径及其路径错误

    【讨论】:

      猜你喜欢
      • 2015-05-30
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 2017-12-24
      • 2019-03-31
      • 1970-01-01
      • 2020-01-29
      • 2015-11-06
      相关资源
      最近更新 更多