<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/index.php?action=history&amp;feed=atom&amp;title=Three.js_-_3D_Text</id>
	<title>Three.js - 3D Text - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/index.php?action=history&amp;feed=atom&amp;title=Three.js_-_3D_Text"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Three.js_-_3D_Text&amp;action=history"/>
	<updated>2026-05-06T17:58:45Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikizone</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Three.js_-_3D_Text&amp;diff=25683&amp;oldid=prev</id>
		<title>134.3.241.3: Die Seite wurde neu angelegt: „ ThreeJS - Snippets  http://gero3.github.io/facetype.js/ - Konvertieren von Fonts nach Facetype three.js nutzt Typeface Fonts === Typeface fonts bekommen =…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Three.js_-_3D_Text&amp;diff=25683&amp;oldid=prev"/>
		<updated>2021-12-30T20:19:17Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „ &lt;a href=&quot;/index.php?title=ThreeJS_-_Snippets&quot; title=&quot;ThreeJS - Snippets&quot;&gt;ThreeJS - Snippets&lt;/a&gt;  http://gero3.github.io/facetype.js/ - Konvertieren von Fonts nach Facetype three.js nutzt Typeface Fonts === Typeface fonts bekommen =…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt; [[ThreeJS - Snippets]]&lt;br /&gt;
 http://gero3.github.io/facetype.js/ - Konvertieren von Fonts nach Facetype&lt;br /&gt;
three.js nutzt Typeface Fonts&lt;br /&gt;
=== Typeface fonts bekommen ===&lt;br /&gt;
* Über Konvertiertools (s.o.)&lt;br /&gt;
* Aus den threejs examples: opening the /node_modules/three/examples/fonts/, taking the helvetiker_regular.typeface.json and LICENSE files, and putting these in the /static/fonts/ folder (that you need to create). The font is now accessible just by writing /fonts/helvetiker_regular.typeface.json at the end of the base URL.&lt;br /&gt;
&lt;br /&gt;
=== Fontloader ===&lt;br /&gt;
Hinweis: Seit three.js 133 muss der Fontloader und die Fontgeometry importiert werden.&lt;br /&gt;
&lt;br /&gt;
 https://threejs.org/docs/index.html?q=fontloa#examples/en/loaders/FontLoader&lt;br /&gt;
&lt;br /&gt;
====Basic Example====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import { FontLoader } from &amp;#039;three/examples/jsm/loaders/FontLoader.js&amp;#039;&lt;br /&gt;
import { TextGeometry } from &amp;#039;three/examples/jsm/geometries/TextGeometry.js&amp;#039;//i.e. with webpack&lt;br /&gt;
//...&lt;br /&gt;
/**&lt;br /&gt;
 * Fonts&lt;br /&gt;
 */&lt;br /&gt;
const fontLoader = new FontLoader()&lt;br /&gt;
&lt;br /&gt;
fontLoader.load(&lt;br /&gt;
    //&amp;#039;/fonts/helvetiker_regular.typeface.json&amp;#039;,&lt;br /&gt;
    &amp;#039;/fonts/BebasNeueBook_Regular.json&amp;#039;,&lt;br /&gt;
    (font) =&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        console.log(&amp;#039;font loaded&amp;#039;)&lt;br /&gt;
        const textGeometry = new TextGeometry(&lt;br /&gt;
            &amp;#039;KHOLJA&amp;#039;,&lt;br /&gt;
            {&lt;br /&gt;
                font: font,&lt;br /&gt;
                size: 0.5,&lt;br /&gt;
                height: 0.2, // more like extrusion depth&lt;br /&gt;
                curveSegments: 8,&lt;br /&gt;
                bevelEnabled: true,&lt;br /&gt;
                bevelThickness: 0.03,&lt;br /&gt;
                bevelSize: 0.01,&lt;br /&gt;
                bevelOffset: 0,&lt;br /&gt;
                bevelSegments: 4&lt;br /&gt;
            }&lt;br /&gt;
        )&lt;br /&gt;
        textGeometry.center() // easy method to center the text&lt;br /&gt;
        const textMaterial = new THREE.MeshBasicMaterial()&lt;br /&gt;
        textMaterial.wireframe = true&lt;br /&gt;
        const text = new THREE.Mesh(textGeometry,textMaterial)&lt;br /&gt;
        scene.add(text)&lt;br /&gt;
    }&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Beispiel: Drehachse korrekt in Text zentrieren (Hard Way)====&lt;br /&gt;
(BoundingBox + Bevel Korrektur)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Fonts&lt;br /&gt;
 */&lt;br /&gt;
const fontLoader = new FontLoader()&lt;br /&gt;
&lt;br /&gt;
fontLoader.load(&lt;br /&gt;
    //&amp;#039;/fonts/helvetiker_regular.typeface.json&amp;#039;,&lt;br /&gt;
    &amp;#039;/fonts/BebasNeueBook_Regular.json&amp;#039;,&lt;br /&gt;
    (font) =&amp;gt;&lt;br /&gt;
    {&lt;br /&gt;
        console.log(&amp;#039;font loaded&amp;#039;)&lt;br /&gt;
        const bevelSize = 0.02&lt;br /&gt;
        const bevelThickness = 0.03&lt;br /&gt;
        const textGeometry = new TextGeometry(&lt;br /&gt;
            &amp;#039;KHOLJA&amp;#039;,&lt;br /&gt;
            {&lt;br /&gt;
                font: font,&lt;br /&gt;
                size: 0.5,&lt;br /&gt;
                height: 0.2, // more like extrusion depth&lt;br /&gt;
                curveSegments: 8,&lt;br /&gt;
                bevelEnabled: true,&lt;br /&gt;
                bevelThickness: bevelThickness,&lt;br /&gt;
                bevelSize: bevelSize,&lt;br /&gt;
                bevelOffset: 0,&lt;br /&gt;
                bevelSegments: 4&lt;br /&gt;
            }&lt;br /&gt;
        )&lt;br /&gt;
        // use a BoundingBox to orientate at middle&lt;br /&gt;
        textGeometry.computeBoundingBox()&lt;br /&gt;
        console.log(textGeometry.boundingBox)&lt;br /&gt;
        // move geometry (not the mesh) &lt;br /&gt;
        // if we later rotate the mesh we will get a &lt;br /&gt;
        // correct rotation axis&lt;br /&gt;
        textGeometry.translate(&lt;br /&gt;
            -(textGeometry.boundingBox.max.x-bevelSize) * 0.5,&lt;br /&gt;
            -(textGeometry.boundingBox.max.y-bevelSize) * 0.5,&lt;br /&gt;
            -(textGeometry.boundingBox.max.z-bevelThickness) * 0.5,&lt;br /&gt;
        )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Drehachse zentrieren (easy way) ===&lt;br /&gt;
 textGeometry.center()&lt;/div&gt;</summary>
		<author><name>134.3.241.3</name></author>
	</entry>
</feed>