+
Skip to content

Three.js wrapper for ZikoJS that simplifies 3D scene creation, animation, and camera control with a more declarative and component-friendly API.

License

Notifications You must be signed in to change notification settings

zakarialaoui10/ziko-tgl

Repository files navigation

ziko-tgl is a Zikojs plugin built on the top of Threejs

Demo

Windows entaglement

Scene

ziko-tgl provides a variety of scene setups to meet diverse rendering needs. Scenes in ziko-tgl are an instance of ZikoElement, allowing you to utilize all ZikoElement methods. Here are the main scene types:

SceneGl

SceneGl is used for creating standard WebGL scenes. It supports adding 3D objects and includes various controls for interacting with the scene.

  gl=SceneGl(WIDTH,HEIGHT,BACKGROUND)
  gl.add(/* ...ziko-tglObject */)
  gl.useMapControls() 
  gl.useOrthographicCamera() 

SceneCss

SceneCss allows for the integration of HTML/CSS elements into the 3D scene. This is useful for combining 3D graphics with traditional web elements.

 gl=SceneCss(WIDTH,HEIGHT,BACKGROUND)
 gl.add(/* ...ziko-tglObject,...ZikoElement*/)
 gl.useMapControls()  

Objects

ziko-tgl provides a set of predefined objects that you can easily add to your scene. These objects can be styled and positioned as needed.

 let sphere = sphere3(1)
               .style({
                   texture: /* Img Video Svg Canvas ...*/
               })
               .pos(x,y,z);
               .useStandardMaterial()

Controls

ziko-tgl includes a variety of control mechanisms to manipulate the camera and objects within the scene. These controls enhance user interaction and make it easier to navigate and modify the 3D environment.

Camera Based Controls

Camera-based controls allow users to navigate the scene by manipulating the camera's position and orientation.

  • OrbitControls : Enables orbiting around a target.
  • MapControls :
  • FlyControls :
  • TrackballControls :
  • FirstPersonControls :
  • PointerControls :

Object Based Controls

Object-based controls are used to manipulate individual objects within the scene.

  • TransformControls:
 let mode="translate"; // use can use either "rotate" and scale;
 ctrl = useTransformControls(object);
  • DragContros:
ctrl = useDragControls([objects]);
ctrL.onStart(callback1)
    .onDrag(callback2)

About

Three.js wrapper for ZikoJS that simplifies 3D scene creation, animation, and camera control with a more declarative and component-friendly API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载