Skip to main content

This is a library for character animation with no GUI (console-mode). For rendering, please use libcalab_ogre3d (ogre-next) or GitHub:taesoobear/libcalab_examples (ogre-python) instead.

Project description

example code 1 (fbx loading).

import os,sys,pdb,math
from libcalab import *

this=RE.createMainWin() # this is necessary before using libcalab


skelFile='../../Mixamo/fbx_withSkin/bigvegas_Walking.fbx' 
skinScale=1

fbx=RE.FBXloader(skelFile, skinScale=skinScale, useTexture=True, simplifyMesh=False)

loader=fbx.loader
motion=fbx.loader.mMotion

print(loader)
lua.out(loader) #  print skeleton using lua (see console).


pdb.set_trace()

example code 2 (bvh loading).

import os, sys, pdb, math, random
from libcalab import *
import numpy as np
import copy

this=RE.createMainWin(sys.argv)

loader1=RE.createMotionLoaderExt('../Resource/motion/woody/wd2_2foot_walk_turn2.bvh')
mMotion=loader1.mMotion

# pose editing using quaternions
lua.out(loader1) #  print skeleton using lua (see console).
ri1=loader1.getRotJointIndexByName('LeftForeArm')
pose1.rotations(ri1).setRotation(m.vector3(0,1,0), math.radians(-90))


# pose editing using euler angles
loader1.setPose(pose2)
dof2=loader1.getPoseDOF()

print(dof2.array)
# The two lines above set and get the quaternions (pose2) in the loader to convert them into Euler angles (dof).
# In other words, pose2 and dof2 represent the same pose but in different representations.
loader1_relbow=loader1.getTreeIndexByName('RightForeArm')
rindex2_start=loader1.dofInfo.startR(loader1_relbow)
rindex2_end=loader1.dofInfo.endR(loader1_relbow)

print(loader1.bone(loader1_relbow).getRotationalChannels())

Other examples which use ogre-python for rendering

https://github.com/taesoobear/libcalab_examples

Other examples which use libcalab-ogre3d (ogre-next) for much faster rendering

https://github.com/taesoobear/IPCDNNwalk

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

libcalab-0.2.8-cp312-cp312-macosx_14_0_arm64.whl (8.0 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

Details for the file libcalab-0.2.8-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for libcalab-0.2.8-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a5ff594f9148f2d186115c16e81cacaa2c016b8f68e32de83f0114a055ffec72
MD5 112f1fe5a4e200a17db45c1b03862355
BLAKE2b-256 f4cd4bd7c5d5c750eeb0006e8d3e9939b188d24af4f24d67e041e66ca6575de2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page