React library for creating 3D objects quickly. Also these objects can be animated
npm install anim-3d-obj** ANIMATIONS
fadeInkf: fade object in from 0 to 1 Opacity: demo
floatX: float object so is not stationary: demo
floatShadow: float object + add shadow: demo
pulseSM: pulse object Small: demo
pulseMD: pulse object Medium: demo
pulseLG: pulse object Large: demo
swing: Swing component: demo
swingDecay: Swing component with decay: demo
noAnim: no animation place holder
X-AXIS Animations
X360: rotate 360 degrees on the x-axis: demo
wobX: wobble on x-axis (degreesHi <-> degreesLow): demo
fwdx018: spin object on x-axis from 0 degrees to 180 degrees: demo
fwdx1836: spin object on x-axis from 180 degrees to 360 degrees: demo
fwdx09: spin object on x-axis from 0 degrees to 90 degrees: demo
fwdx918: spin object on x-axis from 90 degrees to 180 degrees: demo
fwdx1827: spin object on x-axis from 180 degrees to 270 degrees: demo
fwdx2736: spin object on x-axis from 270 degrees to 360 degrees: demo
Y-AXIS Animations
Y360: rotate 360 degrees on the y-axis: demo
wobY: wobble on y-axis (degreesHi <-> degreesLow): demo
fwdy018: spin object on y-axis from 0 degrees to 180 degrees: demo
fwdy1836: spin object on y-axis from 180 degrees to 360 degrees: demo
fwdy09: spin object on y-axis from 0 degrees to 90 degrees: demo
fwdy918: spin object on y-axis from 90 degrees to 180 degrees: demo
fwdy1827: spin object on y-axis from 180 degrees to 270 degrees: demo
fwdy2736: spin object on y-axis from 270 degrees to 360 degrees: demo
anim1 or anim2 can be applied to the component. Animations are applied to 2 wrapping divs respectively.
typescript
const anim1 = {
border: "", // while testing reveal the animation wrapper
degreesHi: -45, // degrees if spin
degreesLow: 45, // degrees if spin
delay: 0, // start delay in seconds
direction: "normal", //normal alternating reverse
duration: 8, // seconds
fillMode: "forwards", // none forwards backwards both
iterationCount: "infinite", // number or infinte
name: "Y360", // ** ANIMATIONS (above)
timing: "ease-in-out", // linear ease ease-in-out
};
`
$3
This is an array of objects containing the face used for a given component
`javascript
export interface FaceType {
name?: string; // front,back,left,right,top,top_rear,top_front,bottom,bottom_rear,bottom_front
css?: string | undefined;
body?: any; // can be JSX Component | string | number
}
const faces: FaceType[] = [
{
name: "back",
body: "BACK",
css: background:rgba(22,22,22,.5),
},
{
name: "right",
body: "RIGHT",
css: background:rgba(220,220,220,.5);
,
},
];
`
$3
If the name parameter in the faces array is indicated (ie: "front") but css and / or body are not. The global default(below) will satisfy those parameters.
`javascript
interface GlobalType {
css?: string;
body?: string;
}
const global: GlobalType = {
body: "BODY FOR FACE WHICH DOES NOT CONTAIN BODY",
css: 'color:red'
};
``