Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (2024)

Mit WebGL lassen sich 3D-Anwendungen programmieren, die im Browser ausgeführt werden. Wie es der Name also schon verrät, bringt WebGL die Grafikprogrammierung ins Web! Three.js baut nun wiederum auf WebGL auf. Dabei ist das Programmieren mit Three.js fürs Web deutlich leichter. So ist hier die Syntax einfacher und das Ganze spielt sich auf einer etwas höheren Ebene ab. Wir müssen uns also nicht mit unnötig komplizierten Details herumschlagen. Three.js eignet sich insofern auch für Einsteiger in die Grafikprogrammierung, als dass die einfache Syntax es einem leichter macht, die Konzepte hinter dem Code besser zu verstehen. Wer generell lernen möchte, wie man programmiert, kann verschiedenen Apps nutzen! Ich habe mich mit Three.js mal etwas ausführlicher beschäftigt und hatte mit dem JavaScript-Framework ziemlich viel Spaß! Deswegen hier ein kleiner Three.js Guide für Einsteiger und Anfänger.

Was braucht man für Three.js?

Um mit Three.js programmieren zu können, braucht ihr zuallererst Three.js selber. Die dafür notwendigen Dateien könnt ihr euch hier herunterladen (Achtung: Der Download startet sofort). Hier kommt ihr zur Website von Three.js, wo ihr neben der Dokumentation auch diverse großartige Beispiele für das findet, was sich mit Three.js alles programmieren lässt. Ansonsten braucht ihr lediglich einen Browser, der mit WebGL umgehen kann (Chrome oder Firefox zum Beispiel) und einen Code-Editor. Ich persönlich bin ein Fan von VS-Code, jeder andere Editor tut es aber auch. Außerdem solltet ihr euer Three.js-Projekt nicht einfach über den Browser öffnen, sondern auf eurem Rechner einen Web-Server starten. Hier gibt es für viele Code-Editoren Plugins, die das gewaltig erleichtern. Ich benutze gerne Live Server für VS-Code. Hier kann ich mit einem Click in VS-Code den Server starten. Den gesamten Code könnt ihr euch am Ende des Artikels kopieren!

Ein Three.js Projekt anlegen

Bevor wir mit Three.js loslegen könne, müssen wir ein Projekt anlegen. Das geht über verschiedene Wege. Manche benutzen Package-Manager wie npm, was gerade bei größeren Projekten auch absolut empfehlenswert ist. In unserem Fall aber unnötig.

Die Struktur des Projektes

Als Erstes legen wir einen lib-Ordner an und entpacken die Three.js-Datein hierhinein. Als Nächstes legen wir einen src-Ordner an, in dem wir unseren eigenen JavaScript-Code speichern. Die erste Amtshandlung besteht darin, in src eine main.jsDatei anzulegen. In das Hauptverzeichnis kommt schließlich die index.html. Über diese wird die gesamte 3D-Anwendung, die wir mit Three.js programmieren, geladen. Euer Verzeichnis sollte jetzt also wie folgt aussehen:

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (1)

Die index.html

Der Inhalt unserer index.htmlDatei ist relativ überschaubar. So müssen wir hier lediglich das übliche HTML-Gerüst einfügen sowie unsere main.jsDatei verlinken, in der unser Three.js-Code stehen wird.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (2)

Die main.js

In unserer main.js-Datei müssen wir nun zuerst die three.js-Datei laden. Wir könnten das Skript auch in der index.html direkt verlinken, wie wir es zuvor getan haben. Ich finde es aber übersichtlicher, es zu Beginn in der main.js mit dem Befehl document.write() einzufügen. Dieser Befehl schreibt die Verlinkung eigentlich auch bloß in die index.html.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (3)

Eine Szene in Three.js erstellen

In unserem Three.js Guide für Einsteiger wollen wir eine Szene mit einem Boden anlegen und darin ein Modell laden, das Schatten auf den Boden wirft. Dafür erstellen wir zuerst eine main()Funktion. Diese rufen wir mit window.onload allerdings erst auf, sobald unsere Anwendung geladen ist. So verhindern wir, während wir mit Three.js programmieren, dass auf Elemente zugegriffen wird, die vielleicht noch gar nicht geladen wurden.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (4)

Szene, Kamera und Renderer

Nun müssen wir unserer main-Funktion eine Szene, eine Kamera und einen Renderer zuweisen. Der Szene können wir zusätzlich noch einen Hintergrund verpassen. Die Kamera ist dafür zuständig, die Objekte in der Szene abzubilden, während der Renderer die Szene rendert und ein Bild auf unserem Monitor erzeugt. Weiterhin können wir die shadowMap des Renderers aktivieren, um so später Schatten werfen zu können. Zusätzlich müssen wir die Position der Kamera verändern, da sie ansonsten im Zentrum der Anwendung sitzt. Über die Funktion lookAt() können wir bestimmen, auf welchen Punkt die Kamera guckt.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (5)

Noch sehen wir allerdings nichts, wenn wir unseren Server starten. Das liegt daran, dass wir dem Renderer noch nicht mitgeteilt haben, dass er die Szene auch rendern soll. In der Funktion animate() können wir das nachholen. Über requestAnimationFrame() sagen wir außerdem, dass die animate-Funktion immer wieder aufgerufen und somit das Bild immer wieder gerendert werden soll.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (6)

Zwar sehen wir in unserer Three.js 3D-Anwendung noch immer nichts, aber wir sind nicht mehr weit davon entfernt! Nun müssen wir das DOM-Element, das der Renderer erzeugt, lediglich an das Div-Objekt aus unserer index.html anhängen.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (7)

Da Three.js bei Rotationen mit Radianten rechnet, ergibt es Sinn sich die Konstante DEG_TO_RAD anzulegen, wenn wir mit Three.js programmieren. Multiplizieren wir eine Grad-Zahl mit ihr, erhalten wir die Rotation in Radianten.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (8)

Der Code sollte nun wie folgt aussehen:

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (9)

Boden und Licht

Nun können wir unserer 3D-Anwendung einen Boden hinzufügen. Dafür hat Three.js ein eigenes Objekt, das wir einfach erzeugen können und über scene.add() unserer Szene hinzufügen können. Den Boden müssen wir noch 90 Grad gegen den Uhrzeigersinn auf der X-Achse drehen und benutzen dafür die eben angelegte Konstante.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (10)

Allerdings können wir den Boden jetzt noch nicht sehen, da es bis jetzt in unserer Szene keinerlei Licht gibt. Also fügen wir der Szene noch zwei weitere Lichter hinzu – ein AmbientLight und ein DirectionalLight. Letzteres hat eine konkrete Richtung und kann somit Schatten werfen. Der Schatten wird dabei mit einer Schattenkamera berechnet. Über das Objekt directionalObject können wir den Schatten und seine Attribute definieren.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (11)

Nun sollte unser Code so aussehen:

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (12)

Und unsere Szene sollte nun so aussehen. Spektakulär ist sie noch nicht, aber immerhin ist etwas zu sehen.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (13)

Ein 3D-Modell mit Three.js laden

Um 3D-Modelle in eine Szene zu laden, stellt Three.js verschiedene Loader zur Verfügung. Da wir ein FBX-Model laden wollen, brauchen wir den FBX-Loader. Um diesen in unserer 3D-Anwendung zu verwenden, müssen wir ihn, wie zuvor auch die three.js-Datei, einbinden. Außerdem benötigen wir das Script inflate.js, mit dem das FBX-Format verarbeitet werden kann.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (14)

Der FBX-Loader

Nun können wir den Loader benutzen, wenn wir mit Three.js programmieren. Wir verwenden in diesem Beispiel ein eigenes 3D-Modell. Alternativ gibt es auf Sketchfab viele kostenlose und sehr gute Modelle. Das Modell speichert ihr am besten in einem Ordner model im Ordner src. Nun können wir das Model laden und für alle Child-Objekte festlegen, dass diese Schatten werfen und empfangen können.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (15)

Unser Code sollte nun so aussehen:

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (16)Und unsere Szene sollte nun so aussehen:

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (17)

Wir haben also mittlerweile ein 3D-Modell in unsere 3D-Anwendung geladen, das Schatten auf unseren Boden wirft. Zu guter Letzt wollen wir uns noch die Möglichkeit geben, mit der Kamera herumzufliegen.

OrbitControls

Um mit der Kamera in der Three.js-Szene navigieren zu können, stehen uns die OrbitControls aus Three.js zur Verfügung stellt.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (18)

Nun können wir die OrbitControls der Szene hinzufügen. Dabei müssen wir dem Objekt die Kamera und das DOM-Element, an das wir die Szene gehängt haben, übergeben.

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (19)

Und… Tadaaaa! Fertig ist unsere Szene. Natürlich ist mit Three.js weitaus mehr möglich, aber dieser Artikel sollte ja auch nur einen kleinen Einblick in das Framework ermöglichen. Wer sich mehr vornehmen möchte, kann sich von den vielen Beispielen im Internet inspirieren lassen. Ich finde die Möglichkeiten, die Three.js bietet sehr spannend und hatte großen Spaß dabei, mit Three.js zu programmieren.

Der komplette Code:

document.write('');
document.write('');
document.write('');
document.write('');

const DEG_TO_RAD = Math.PI / 180;

function main () {
scene = new THREE.Scene();
scene.background = new THREE.Color(0x000000);
camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.set(0, 150, 250);
camera.lookAt(0, 0, 0);
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setClearColor(new THREE.Color(0x000000));
renderer.shadowMap.enabled = true;

var ambientLight = new THREE.AmbientLight(0xffffff);
ambientLight.intensity = 0.4;

var directionaLight = new THREE.DirectionalLight(0xffffff);
directionaLight.position.set(0, 100, 100);
directionaLight.lookAt(scene.position);
directionaLight.intensity = 0.7;
directionaLight.castShadow = true;
directionaLight.shadow.radius = 2;
directionaLight.shadow.mapSize.width = 2048;
directionaLight.shadow.mapSize.height = 2048;
directionaLight.shadow.camera.top = 100;
directionaLight.shadow.camera.bottom = -100;
directionaLight.shadow.camera.left = -100;
directionaLight.shadow.camera.right = 100;

scene.add(ambientLight);
scene.add(directionaLight);

var floorGeometry = new THREE.PlaneGeometry(200, 200);
var floorMaterial = new THREE.MeshStandardMaterial({
color: 0xFFFFFF,
roughness: 0.4,
metalness: 0.0
});

var floor = new THREE.Mesh(floorGeometry, floorMaterial);
floor.rotation.x = -90 * DEG_TO_RAD;
floor.receiveShadow = true;

scene.add(floor);

var npLogo = new THREE.Group();

var fbxloader = new THREE.FBXLoader();

fbxloader.load("src/model/NPLOGO.fbx", function (model) {
npLogo.add(model);

model.traverse( function ( child ) {
if ( child.isMesh ) {
child.castShadow = true;
child.receiveShadow = true;
}
});

});
npLogo.position.y = 2;
npLogo.scale.set(0.5, 0.5, 0.5);
scene.add(npLogo);

var orbitControls = new THREE.OrbitControls(camera, document.getElementById("3d_application"));
orbitControls.target = new THREE.Vector3(0, 80, 0);
orbitControls.update();

document.getElementById("3d_application").appendChild(renderer.domElement);

var animate = function () {
requestAnimationFrame( animate );
renderer.render( scene, camera );
};

animate();
}

window.onload = main;

Screenshot aus VS-Code erstellt von Moritz Stoll mit carbon.now.sh

Titleimage by Денис Любезнов via stock.adobe.com

  • twittern
  • teilen
  • mitteilen

Moritz Stoll

kann vieles, aber nichts so richtig. Beschäftigt sich gerne und viel mit Tech und Trara, ist fester Bestandteil der Netzpiloten-Redaktion und moderiert den Netzpiloten-Podcast Tech und Trara. Die (digitale) Welt ist für ihn ein Ort voller Möglichkeiten und spannender Technologien, die man ausprobieren, bearbeiten und hinterfragen kann.


Artikel per E-Mail verschicken
Schlagwörter: Guide, programmierung

Mit Three.js Programmieren - Ein Guide für Einsteiger - Netzpiloten.de (2024)

FAQs

How much time does it take to learn three Js? ›

In 45 hours of video, this course will teach you the secrets to create the coolest WebGL websites with Three.js whether you are a beginner or an advanced developer. Joining Three.js Journey will give you lifetime access to a complete and easy to access course with 39 lessons.

What language is 3js? ›

three. js is a JavaScript-based WebGL engine that can run GPU-powered games and other graphics-powered apps straight from the browser. The three. js library provides many features and APIs for drawing 3D scenes in your browser.

Is Three Js worth learning? ›

Three. js is a powerful library that many web developers are including in their projects to give their website that three-dimensional edge. It's incredibly easy to use, and we're sure that you'll find somewhere on your site to throw in a 3D model or two, so make sure to look more into Three.

Is Three Js GPU accelerated? ›

Three. js allows the creation of graphical processing unit (GPU)-accelerated 3D animations using the JavaScript language as part of a website without relying on proprietary browser plugins. This is possible due to the advent of WebGL, a low-level graphics API created specifically for the web.

Can you learn JavaScript in a month? ›

Here's the short answer: most programmers agree that it takes six to nine months to develop a working proficiency in JavaScript. And even then, you'll spend years learning new skills and developing your understanding of it.

Can you learn JavaScript in a week? ›

You can learn the basics in a few days. But this won't make you job ready or ready for real applications. You got to practice a lot and side by side keep learning. Codeacademy is a place to start javascript,but putting 2 hours per day to learn a language is much better than 10 hours per day.

How popular is three Js? ›

three js Awards

12th most popular on the Entire Internet in Framework category. 13th most popular in the Top 10k sites in Framework category.

What websites use three Js? ›

Examples Three. js websites.
  • Outpost. VOTE NOW. Outpost PRO - ...
  • Junni is... VOTE NOW. Junni. - ...
  • Rose Island. VOTE NOW. También PRO - ...
  • Zes Nullen. VOTE NOW. ARVIN LEEUWIS. - ...
  • Odin's Crow. Obys agency PRO - ...
  • electrode Web. shintaro-nakajima. - ...
  • Bambuk. BambukDesignStudio PRO - ...
  • Stillwater® Drexler PRO -

Is Three Js a framework? ›

This abstraction helps to make WebGL development easier and more productive. We will discuss several WebGL frameworks in the next chapter. In this chapter we will concentrate on one of the most widely used frameworks — Three. js.

What is required to learn three js? ›

As a three. js developer, you need to know some basic HTML and CSS, and some slightly less basic JavaScript. However, you don't need to be an expert in any of these things. If you are new to web development, don't worry because we'll cover everything you need to know as we go along, and in more depth in the Appendices.

Should I learn three js or Babylon js? ›

I would recommend Babylon. js for almost all 3d browser game projects since Babylon is a game engine with a lot of features that you would need for developing a game.

Is Three js good for games? ›

Three. js is a powerful library for creating three-dimensional models and games. With just a few lines of JavaScript, you can create anything from simple 3D patterns to photorealistic, real-time scenes. You can build simple and complex 3D geometrics, animate and move objects through a lifelike scene, and more.

Can JavaScript use GPU? ›

In short, GPU. js is a JavaScript acceleration library that can be used for general-purpose computations on GPUs using JavaScript. It supports browsers, Node. js and TypeScript.

Is WebGL the same as three Js? ›

WebGL is a JavaScript API for rendering 3D graphics in a web browser. three. js is a library for making 3D graphics with WebGL.

Can PHP use GPU? ›

PHP alone does not have the ability to leverage the GPU.

Is JavaScript enough to get a job? ›

Yes, gaining excellent skills in Javascript is enough to get a job, being a highly-skilled Javascript developer opens up many doors of opportunities. You will be able to build frontend applications, server-side applications, mobile apps, desktop apps, games, AR & VR apps, and more using Javascript skills.

Is JavaScript harder than C++? ›

Even despite readability, ultimately C++ is also harder than JavaScript to learn because there are many more aspects of the language that you need to master. The syntax needs to be more precise, you have to write more code, you need to understand static type systems, garbage collection, and much more.

How many hours a day should I study JavaScript? ›

Getting yourself acquainted with syntactical stuff should not take you more than a week working 2 to 4 hours daily. Then you would have to go through the advanced concepts like the Closures, Web APIs, Event Loop, Prototype chain etc. This is gonna take some time. From one month to a couple of months.

Is JavaScript easier than Java? ›

A: Yes, JavaScript is easier than Java as it requires less tools and prior knowledge of development kits. You need just a text editor, and programming knowledge to start writing the code for web development.

Is JavaScript hard to learn? ›

Arguably, JavaScript is one of the easiest programming languages to learn, so it serves as a great first language for anyone brand new to coding. Even the most complex lines of JavaScript code can be written one by one, in fragments. It can also be tested in the web browser at the same time.

How do I master JavaScript? ›

It tells you how can be one step ahead then your fellow web developers and polish your JavaScript better.
  1. Grasp The Basics More Thoroughly. ...
  2. Use Functions To Define Different Modules, Even If They Are Small. ...
  3. Keep Cross Browser Compatibility In Mind. ...
  4. Use Object-Oriented Approach. ...
  5. Perform Testing To Have A Near Perfect Code.
27 May 2019

Who developed three Js? ›

After the introduction of WebGL 1.0 in March 2011. Joshua Koo built his first Three. js demo for 3D text in September 2011. His contributions frequently relate to geometry generation.

What is GL web? ›

WebGL (Web Graphics Library) is a JavaScript API for rendering high-performance interactive 3D and 2D graphics within any compatible web browser without the use of plug-ins. WebGL does so by introducing an API that closely conforms to OpenGL ES 2.0 that can be used in HTML <canvas> elements.

What is React Three Js? ›

react-three-fiber is a React renderer for threejs. Build your scene declaratively with re-usable, self-contained components that react to state, are readily interactive and can participate in React's ecosystem.

How do I put 3 js in HTML? ›

Importing Three. js as Module
  1. Create the basic project.
  2. Install Three.
  3. Create the basic NodeJS server.
  4. Create the client HTML and JavaScript.
  5. Create the start script.
  6. Start it and see it running in the browser.
6 Aug 2020

How do I run 3 js locally? ›

Just point it at the folder where you unzipped the files, click "Start", then go to in your browser http://localhost:8080/ or if you'd like to browse the samples go to http://localhost:8080/threejs .

Can I use three js with angular? ›

Digital Infoways can integrate three. js in Angular with their different proven strategies and techniques.

What is 3D JavaScript? ›

ThreeJS is a library in Javascript, created by Mr. doob, that allows you to manipulate 3D objects directly in the browser. What you have to understand is that ThreeJS, via Javascript, allows you to use WebGL in an HTML5 canvas. WebGL is a Javascript API that allows you to create 2D and 3D graphic rendering.

What is JavaScript in HTML? ›

JavaScript is the Programming Language for the Web. JavaScript can update and change both HTML and CSS. JavaScript can calculate, manipulate and validate data.

How do you make a 3js project? ›

Setup Development Environment
  1. Setup Development Environment.
  2. Install TypeScript.
  3. Begin Creating the Three.js Project Begin Creating the Three.js Project Table of contents. ...
  4. Add the Initial Scripts.
  5. Setting up the Webpack Dev Server.
  6. Three.js Typescript Boilerplate.
  7. NormalMap.
  8. DisplacementMap with NormalMap.

What is required to learn three Js? ›

As a three. js developer, you need to know some basic HTML and CSS, and some slightly less basic JavaScript. However, you don't need to be an expert in any of these things. If you are new to web development, don't worry because we'll cover everything you need to know as we go along, and in more depth in the Appendices.

Can I learn three Js without JavaScript? ›

You need to at least know basic Javascript, after that I would suggest to start with Babylonjs before diving into Three. js, it is much easier to start of with Babylonjs as a newbie. Three.

Is Three Js good for games? ›

Three. js is a powerful library for creating three-dimensional models and games. With just a few lines of JavaScript, you can create anything from simple 3D patterns to photorealistic, real-time scenes. You can build simple and complex 3D geometrics, animate and move objects through a lifelike scene, and more.

How popular is three Js? ›

three js Awards

12th most popular on the Entire Internet in Framework category. 13th most popular in the Top 10k sites in Framework category.

How do I put 3 js in HTML? ›

Importing Three. js as Module
  1. Create the basic project.
  2. Install Three.
  3. Create the basic NodeJS server.
  4. Create the client HTML and JavaScript.
  5. Create the start script.
  6. Start it and see it running in the browser.
6 Aug 2020

Can I use three Js with angular? ›

Digital Infoways can integrate three. js in Angular with their different proven strategies and techniques.

Is Three Js a framework? ›

This abstraction helps to make WebGL development easier and more productive. We will discuss several WebGL frameworks in the next chapter. In this chapter we will concentrate on one of the most widely used frameworks — Three. js.

Is Three Js better than WebGL? ›

Three. js is the most popular WebGL library for good reasons that we already covered. It's very stable, it provides many features, the documentation is remarkable, the community is working hard on updates, and it's still close enough to native WebGL. That's why it's probably better to learn Three.

Should I learn WebGL before three Js? ›

If you use Three. js, you don't need to know how to program in WebGL, you just need to understand the WebGL concepts. That means, that you just need to be able to read someone else's WebGL code and understand what you read. That is a lot easier than being expected to write a WebGL program yourself from scratch.

How hard is WebGL? ›

It's very difficult at the beginning, but later you'll get the grasp of the pipeline and way of thinking. It takes time (1-2 months to learn only basics), but be persistent.

Should I learn three js or Babylon js? ›

I would recommend Babylon. js for almost all 3d browser game projects since Babylon is a game engine with a lot of features that you would need for developing a game.

Can Javascript make 3D games? ›

js is one of the most popular 3D game engines used by developers. As with any other 3D library, it provides built-in functions to help you implement common 3D functionality more quickly. See the Building up a basic demo with Babylon.

Should I use Unreal engine or Unity? ›

If you are at the beginning of your career in the gaming industry, Unity 3D is the easiest choice to learn to code and create a wide range of games. But if you want your video game to have excellent graphics and work with a more experienced team, Unreal Engine might be the right choice.

What companies use three Js? ›

It is a cross-browser JavaScript library and Application Programming Interface used to create and display animated 3D computer graphics in a web browser. three.
...
js in their tech stacks, including Scale, Foretag, and Teespring.
  • Scale.
  • Foretag.
  • Teespring.
  • Eazel Web Service.
  • NetApp.
  • Clovis.
  • Decentraland.
  • Amazon Robotics.

Who developed three Js? ›

After the introduction of WebGL 1.0 in March 2011. Joshua Koo built his first Three. js demo for 3D text in September 2011. His contributions frequently relate to geometry generation.

What is GL web? ›

WebGL (Web Graphics Library) is a JavaScript API for rendering high-performance interactive 3D and 2D graphics within any compatible web browser without the use of plug-ins. WebGL does so by introducing an API that closely conforms to OpenGL ES 2.0 that can be used in HTML <canvas> elements.

Top Articles
Latest Posts
Article information

Author: Allyn Kozey

Last Updated:

Views: 5611

Rating: 4.2 / 5 (63 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Allyn Kozey

Birthday: 1993-12-21

Address: Suite 454 40343 Larson Union, Port Melia, TX 16164

Phone: +2456904400762

Job: Investor Administrator

Hobby: Sketching, Puzzles, Pet, Mountaineering, Skydiving, Dowsing, Sports

Introduction: My name is Allyn Kozey, I am a outstanding, colorful, adventurous, encouraging, zealous, tender, helpful person who loves writing and wants to share my knowledge and understanding with you.