Skip to main content

Library for character animation and rendering based on ogre3d

Project description

example code 1 (fbx rendering using timeline).

import os,sys,pdb,math
from libcalab_ogre3d import *
import numpy as np


def onFrameChanged(iframe):
    global skin1, skin2
    print(iframe)
    skin1.setPose(fbx.loader.mMotion.pose(iframe))
    skin2.setPose(fbx.loader.mMotion.pose(iframe))


            

this=RE.createMainWin(sys.argv)
skelFile='../../Mixamo/fbx_withSkin/bigvegas_Walking.fbx' 
skinScale=1

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

# draw skeleton
skin1=RE.createSkin(fbx.loader)
skin1.setScale(skinScale, skinScale, skinScale)

# draw mesh
skin2=RE.createFBXskin(fbx)
skin2.setScale(skinScale, skinScale, skinScale)


g_motion2=fbx.loader.mMotion
mTimeline=RE.Timeline("Timeline", g_motion2.numFrames(), 1/g_motion2.frameRate())
m.startMainLoop() # this finishes when program finishes

example code 2 (bvh loading without using timeline).

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

elapsedTime=0
            
def frameMove(fElapsedTime):
    global elapsedTime, mLoader, mMotion,mSkin

    elapsedTime=elapsedTime+fElapsedTime
    currFrame=round(elapsedTime*30) # assuming 120hz

    if currFrame>=mMotion.numFrames():
        return
    mLoader.setPose(mMotion.pose(currFrame))
    leftwristpos=mLoader.getBoneByName('LeftHand').getFrame().translation
    RE.draw("Sphere", leftwristpos*100, "wrist1", "red", 6)

    mSkin.setPose(mMotion.pose(currFrame))

def onCallback(w, uid):
    print(w.id())


this=RE.createMainWin(sys.argv)

this.addButton('hihi')
this.updateLayout()

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

mSkin= RE.createSkin(mLoader);    # to create character
mSkin.scale(1,1,1);                    # this motion data is in cm unit 
mSkin.setPose(mMotion.pose(0));

RE.viewpoint().vpos.set(0, 50, 300)
RE.viewpoint().vat.set(0,40,0)
RE.viewpoint().update()

while True:
    if not RE.renderOneFrame(True):
        break

other examples

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 Distributions

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

libcalab_ogre3d-0.0.8-cp312-cp312-win_arm64.whl (20.6 MB view details)

Uploaded CPython 3.12Windows ARM64

libcalab_ogre3d-0.0.8-cp312-cp312-win_amd64.whl (28.4 MB view details)

Uploaded CPython 3.12Windows x86-64

libcalab_ogre3d-0.0.8-cp312-cp312-manylinux_2_39_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

libcalab_ogre3d-0.0.8-cp312-cp312-macosx_13_0_arm64.whl (15.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

File details

Details for the file libcalab_ogre3d-0.0.8-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for libcalab_ogre3d-0.0.8-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 7de97ee8c95a550065dd8485087f9156fa6a69bb61a824f73115d00aca697264
MD5 170d43aff2d3fcb9496630e3e628c3aa
BLAKE2b-256 5daf9575f2b0207eacd900f41bb0de68ce56a930fae50082dc39e4224021e3b2

See more details on using hashes here.

File details

Details for the file libcalab_ogre3d-0.0.8-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for libcalab_ogre3d-0.0.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 febbc5ac71c1329500910cd41f9d42af42333bb63e725f93ede3ac584a2d620d
MD5 3c152b67772d925fa9ac0d234f4f9282
BLAKE2b-256 3661d7062df01dd87a5d85659498250e023d3af34d796c8140fe4d94b12d254f

See more details on using hashes here.

File details

Details for the file libcalab_ogre3d-0.0.8-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for libcalab_ogre3d-0.0.8-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 85cf1fd5cbad7fae7075d04daba1193dbaae962e2dd9e1cd6f3e63b4c977cb41
MD5 f34ab4619463847a8b562b4887d1ede9
BLAKE2b-256 ba82265e5d8554cb56e6d81c376d0b25435c7bbabf612fb2769307bbd44433a0

See more details on using hashes here.

File details

Details for the file libcalab_ogre3d-0.0.8-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for libcalab_ogre3d-0.0.8-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 2d4631b6dd9b4b69fbd7a35d3a50d0211cac64e71b9463aa74cd5ab97140a640
MD5 f93cee359a31f0331fa37dd541622da6
BLAKE2b-256 f430e0cec5b28cc273c65a3c0ffcf071f6ced68498d781021d44250add53f270

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