Expression Facial Animation System

beta
Add a Review
9 Downloads (This Week)
Last Update:
Download ExpDemo2.1_linux.zip
Browse All Files
Windows Mac Linux

Description

Real time facial animation package based on muscle model of the face. Includes basic scripting language, full API, animation compositing, tools for creating and exporting muscles in 3D studio max.

Expression Facial Animation System Web Site

KEEP ME UPDATED

User Ratings

★★★★★
★★★★
★★★
★★
0
0
0
0
1
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
Write a Review

User Reviews

  • stephane_list
    1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    I couldn't build it. ... g++ -DPACKAGE_NAME=\"EXPRESSION\" -DPACKAGE_TARNAME=\"expression\" -DPACKAGE_VERSION=\"0.1\" "-DPACKAGE_STRING=\"EXPRESSION 0.1\"" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DPACKAGE=\"EXPRESSION\" -DVERSION=\"0.1\" -I. -I. -I. -I../../../sdk/nvmathlib/inc/ -I../../../src/ -g -Wall -MT ExpHead.lo -MD -MP -MF .deps/ExpHead.Tpo -c ExpHead.cpp -fPIC -DPIC -DPIC -o ExpHead.o In file included from ExpHead.cpp:21:0: Exphead.h:25:0: warning: ignoring #pragma warning [-Wunknown-pragmas] #pragma warning (disable:4786) //MS VC++ doesn't like maps ^ In file included from ExpHead.cpp:31:0: ExpMeshAdapter.h:60:8: warning: extra tokens at end of #endif directive #endif EXPMESHADAPTER_H ^ In file included from ExpHead.cpp:21:0: Exphead.h:291:12: error: extra qualification 'ExpHead::' on member 'GetCurrentlySelectedMuscle' [-fpermissive] Muscle * ExpHead::GetCurrentlySelectedMuscle(); ^ Exphead.h:292:27: error: extra qualification 'ExpHead::' on member 'GetMuscleArray' [-fpermissive] std::vector<Muscle *> & ExpHead::GetMuscleArray(){return mMuscleData.mMuscles;} ^ ExpHead.cpp: In member function 'void EyelidGizmo::Activate(float)': ExpHead.cpp:107:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=0; i < mTaglist.size(); i++) { ^ ExpHead.cpp: In member function 'void FacialLayer::InterpolateExpression(const Expression&, float)': ExpHead.cpp:124:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=0; i < mOutput.m.size(); i++) { ^ ExpHead.cpp: In member function 'void ExpHead::InitLayers()': ExpHead.cpp:142:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < mLayers.size(); i++) ^ ExpHead.cpp: In destructor 'MuscleData::~MuscleData()': ExpHead.cpp:196:24: warning: deleting object of abstract class type 'Muscle' which has non-virtual destructor will cause undefined behaviour [-Wdelete-non-virtual-dtor] delete (mMuscles[i]); ^ ExpHead.cpp: In member function 'void ExpHead::ReadTags(const string&)': ExpHead.cpp:227:13: error: 'stderr' was not declared in this scope fprintf(stderr,"Opening error on file:%10s\n", FileName) ; ^ ExpHead.cpp:227:60: error: 'fprintf' was not declared in this scope fprintf(stderr,"Opening error on file:%10s\n", FileName) ; ^ ExpHead.cpp:237:38: error: 'fscanf' was not declared in this scope fscanf ( Infile, "%s", &tagname ) ; ^ ExpHead.cpp:274:17: error: 'fclose' was not declared in this scope fclose(Infile); ^ ExpHead.cpp: In member function 'void MuscleData::ReadMuscles(std::string, std::vector<Morpher*>*, ExpMeshAdapter*)': ExpHead.cpp:305:13: error: 'stderr' was not declared in this scope fprintf(stderr,"Opening error on file:%10s\n", FileName.c_str( ) ); ^ ExpHead.cpp:305:70: error: 'fprintf' was not declared in this scope fprintf(stderr,"Opening error on file:%10s\n", FileName.c_str( ) ); ^ ExpHead.cpp:308:43: error: 'fscanf' was not declared in this scope fscanf ( Infile, "%d", &numberofmuscles ) ; ^ ExpHead.cpp:426:16: error: 'fclose' was not declared in this scope fclose(Infile) ; ^ ExpHead.cpp: In member function 'void ExpHead::CreateMuscleMapping()': ExpHead.cpp:432:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i< NumMuscle(); i ++) { ^ ExpHead.cpp: In member function 'void ExpHead::ReadPrimitives(const string&)': ExpHead.cpp:477:15: error: 'stderr' was not declared in this scope fprintf ( stderr, "can't open input file: %s\n", FileName ) ; ^ ExpHead.cpp:477:63: error: 'fprintf' was not declared in this scope fprintf ( stderr, "can't open input file: %s\n", FileName ) ; ^ ExpHead.cpp:482:41: error: 'fscanf' was not declared in this scope fscanf ( InFile, "%d", &nexpressions ) ; ^ ExpHead.cpp:511:20: error: 'fclose' was not declared in this scope fclose ( InFile ) ; ^ ExpHead.cpp: In member function 'void ExpHead::ReadCompoundPrimitives(const string&)': ExpHead.cpp:566:15: error: 'stderr' was not declared in this scope fprintf ( stderr, "can't open input file: %s\n", FileName ) ; ^ ExpHead.cpp:566:63: error: 'fprintf' was not declared in this scope fprintf ( stderr, "can't open input file: %s\n", FileName ) ; ^ ExpHead.cpp:571:41: error: 'fscanf' was not declared in this scope fscanf ( InFile, "%d", &numofcompound ) ; ^ ExpHead.cpp:644:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (index >= mExpressions.size()){ ^ ExpHead.cpp:672:19: error: 'fclose' was not declared in this scope fclose ( InFile ) ; ^ ExpHead.cpp:558:12: warning: unused variable 'face' [-Wunused-variable] ExpHead *face =this; ^ ExpHead.cpp: In member function 'void ExpHead::PrintCurrentExpression()': ExpHead.cpp:721:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i=0; i < NumMuscle(); i++){ ^ ExpHead.cpp: In member function 'void ExpHead::OverlayExpression(Expression*, const Expression&, const Expression&)': ExpHead.cpp:764:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=0; i< res->m.size(); i++) ^ ExpHead.cpp: In member function 'void FacialLayer::InterpolateKeyframes(const Sequence&, float)': ExpHead.cpp:787:7: warning: unused variable 'nkeys' [-Wunused-variable] int nkeys = keylist.keyframes.size(); ^ ExpHead.cpp: In member function 'void ExpHead::ActivateCurrentState()': ExpHead.cpp:830:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(i = 0; i < mLayers.size(); i++) ^ ExpHead.cpp:852:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i=0; i < NumMuscle(); i++) ^ ExpHead.cpp: In member function 'void ExpHead::DrawMuscles(const MatQ&)': ExpHead.cpp:888:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=0; i<NumMuscle(); i++ ) { ^ ExpHead.cpp: In member function 'void ExpHead::ProcessEvent(float)': ExpHead.cpp:1027:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < mLayers.size(); i++) ^ ExpHead.cpp: In member function 'bool ExpHead::ProcessEvent(ExpEvent*, int)': ExpHead.cpp:1055:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (current->message >= mExpressions.size()) { ^ ExpHead.cpp:1046:10: warning: enumeration value 'playbackSingle' not handled in switch [-Wswitch] switch (current->type) { ^ ExpHead.cpp:1046:10: warning: enumeration value 'nextExp' not handled in switch [-Wswitch] ExpHead.cpp: In member function 'void ExpHead::SelectNextMuscle()': ExpHead.cpp:1132:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (current_muscle >= (NumMuscle())){ ^ ExpHead.cpp: In member function 'const string ExpHead::GetCurrentlySelectedMuscleName()': ExpHead.cpp:1153:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (current_muscle < (NumMuscle()) && current_muscle >= 0){ ^ ExpHead.cpp: In member function 'Muscle* ExpHead::GetCurrentlySelectedMuscle()': ExpHead.cpp:1162:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (current_muscle < (NumMuscle()) && current_muscle >= 0){ ^ ExpHead.cpp: In member function 'const Expression& ExpHead::GetExpression(const string&)': ExpHead.cpp:1206:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(ret!= -1) ^ Makefile:287: recipe for target 'ExpHead.lo' failed make[3]: *** [ExpHead.lo] Error 1 make[3]: Leaving directory '/home/stephane/devel/expression/ExpDemo1.2_linux/src/expression/ExpressionLib' Makefile:176: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/home/stephane/devel/expression/ExpDemo1.2_linux/src/expression' Makefile:176: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/stephane/devel/expression/ExpDemo1.2_linux/src' Makefile:190: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1

    Posted 07/12/2015
Read more reviews

Additional Project Details

Intended Audience

Developers

Programming Language

C++

Registered

2000-10-29
Screenshots can attract more users to your project.
Features can attract more users to your project.