Anthony J. Thibault
3286a32afc
Initial version of AnimStateMachine.
...
No interpolation support, but basic avatar.json is working
with two states and two transitions between them.
2015-08-27 20:41:53 -07:00
Anthony J. Thibault
637e3b0a15
Added triggers to AnimVariantMap.
2015-08-27 10:41:01 -07:00
Anthony J. Thibault
a04f356857
Merge branch 'master' into ajt/new-anim-system
2015-08-27 09:32:53 -07:00
Anthony J. Thibault
b7a9b54628
Better AnimDebugDraw rendering
2015-08-26 16:42:08 -07:00
Seth Alves
695ffa29c7
call setup_memory_debugger from common macros rather than from every CMakeLists.txt file
2015-08-26 11:09:59 -07:00
Anthony J. Thibault
46c1e008bc
Merge branch 'master' into ajt/new-anim-system
2015-08-26 10:37:39 -07:00
Anthony J. Thibault
0c02a338f2
Added support for setting Variants in the json file.
...
For example: the avatar.json file was updated to use the "sine" Variant
to drive the Overlay alpha parameter.
2015-08-25 20:57:01 -07:00
Anthony J. Thibault
4abf0cbd63
AnimVariantMap is used in eval, MyAvatar loads avatar.json via url
2015-08-25 20:28:17 -07:00
Brad Davis
d311e4f2ea
Fixing problems reported by static analysis tool
2015-08-25 19:18:55 -07:00
Anthony J. Thibault
496c706bba
Added AnimVariantMap argument to evaluate.
2015-08-25 11:59:24 -07:00
Anthony J. Thibault
62f86e6a46
Added AnimVariant, renamed AnimClipTests to AnimTests.
...
* Added test for AnimVariant.
2015-08-25 11:33:57 -07:00
Anthony J. Thibault
4bdb00bbc5
Added setCurrentFrame interface to AnimClip.
...
This will recurse the tree and call setCurrentFrameInternal on each node.
This method can be overriden, currently the only meaningful implementation is AnimClip.
2015-08-25 09:58:36 -07:00
Anthony J. Thibault
7a2ca047cb
Added network resource download support to AnimNodeLoader.
2015-08-24 19:00:12 -07:00
Anthony J. Thibault
5a73aef1f8
AnimSkeleton more accurate bind pose generation.
2015-08-24 16:19:16 -07:00
Anthony J. Thibault
fa5256eefd
Merge branch 'master' into ajt/new-anim-system
2015-08-24 14:32:28 -07:00
Anthony J. Thibault
80d3ae68c2
Removed redundant ends with ‘fbx’ check.
2015-08-21 22:11:53 -07:00
Anthony J. Thibault
b7009b4631
Fix for animation resources
...
The problem was that the invokeMethod between the AnimationReader thread
and the main thread was failing, because FBXGeometry* wasn't a registered meta type.
So, I ended up normalizing the AnimationReader class to be more like GeometryReader,
in that it uses singles and slots to communicate success and failure, rather then
invokeMethod.
2015-08-21 16:09:06 -07:00
Brad Davis
c3991dbb8c
Merge pull request #5622 from hyperlogic/ajt/network-geometry-refactor
...
ResourceCache, NetworkGeometry and Model refactoring and optimizations.
2015-08-20 23:57:16 -07:00
Anthony J. Thibault
1b3d7fabc8
ResourceCache, NetworkGeometry and Model refactoring and optimizations.
...
* Removed validation logic from Resource class, Qt does this internally and is more
standards compliant. This should result in more accurate caching and faster resource
fetching when cache is stale and validation fails.
* Added loaded and failed slots to Resource class, so it does not have to be polled.
* NetworkGeometry now uses multiple Resource objects to download
the fst/mapping file and the fbx/obj models.
* NetworkGeometry is no longer a subclass of Resource
* NetworkGeometry now has signals for success and failure, you no longer
have to poll it to determine when loading is complete (except for textures *sigh*)
Some functionality was removed
* NetworkGeometry no longer has a fallback
* NetworkGeometry no longer loads LODs or has lod logic.
* The number of FBXGeometry copies is greatly reduced.
* Model::setURL no supports fallback URL, delayLoad or retainCurrent option.
This can result in a pop when switching avatars, and there's no longer a default
if avatar loading fails.
2015-08-20 18:59:51 -07:00
Seth Alves
c25082d86f
use -fsanitize=address in all code rather than just the top-level links
2015-08-20 10:14:16 -07:00
Philip Rosedale
01108bdf6b
Merge pull request #5573 from howard-stearns/sync-eyes-and-vectors
...
Synchronize eye joint and debugging vectors
2015-08-17 16:56:01 -07:00
Howard Stearns
d28c555a79
Synchronize eye joint and debugging vectors when the other avatar is looking at me.
2015-08-14 16:47:34 -07:00
Andrew Meadows
488f6aa7d8
fix bug in ElbowConstraint::apply()
2015-08-12 13:34:23 -07:00
Howard Stearns
295d655eec
Merge pull request #5545 from AndrewMeadows/chlorine
...
rotation constraints in preparation for inverse kinematics
2015-08-11 09:19:16 -07:00
Andrew Meadows
8e82e48f76
remove more std::max/min favor of glm utilities
2015-08-11 08:17:54 -07:00
Andrew Meadows
a38c1c82d1
use glm::clamp() instead if std::max() and min()
2015-08-10 23:08:36 -07:00
Andrew Meadows
80b36f9f12
fix typo
2015-08-10 15:11:00 -07:00
Seth Alves
b26d6d2b9c
Merge pull request #5542 from ZappoMan/RenderableModelEntityItemOptimization
...
Renderable model entity item optimizations
2015-08-10 15:10:12 -07:00
Andrew Meadows
43bf4a85d2
add RotationConstraint and friends
2015-08-10 14:48:22 -07:00
Howard Stearns
964d04d24f
Restore correct space for eye joint rotations.
...
Also, do not correct for camera position on my avatar. (That will be done by zero or one receivers.)
2015-08-10 12:34:01 -07:00
ZappoMan
ae958dd42d
Merge branch 'master' of https://github.com/highfidelity/hifi into RenderableModelEntityItemOptimization
2015-08-10 09:59:45 -07:00
ZappoMan
668778cfd9
optimize JointState::setRotationInConstrainedFrameInternal() to short cut cases where targetRotation matches previous targetRotation
2015-08-09 16:55:43 -07:00
Brad Davis
64fcd2da96
Merge pull request #5530 from ZappoMan/RenderableModelEntityItemOptimization
...
optimizations to RenderableModelEntityItem::render()
2015-08-07 15:32:07 -07:00
Seth Alves
b1e69537f3
Merge pull request #5524 from howard-stearns/cleanup-jointstate
...
Clean Up JointState
2015-08-07 13:50:02 -07:00
ZappoMan
cec0f8ed1d
optimize ModelEntityItem::getAnimationFrame()
2015-08-07 13:43:57 -07:00
Howard Stearns
145b730f80
Clean up instantiation.
2015-08-07 12:27:26 -07:00
Howard Stearns
a840a17106
Change name originalRotation defaultRotation.
2015-08-06 19:45:58 -07:00
Howard Stearns
42cc34cd64
JointState has our own copy of any ivars we want from FBXJoint, instead of keeping a reference to the fbx.
2015-08-06 16:54:09 -07:00
Howard Stearns
02f57286e4
Don't let individual startAnimation get messed up by blend/fade.
2015-08-06 11:30:18 -07:00
Anthony J. Thibault
c3fc37df18
Added true boneSets to AnimOverlay.
2015-08-05 18:07:56 -07:00
Anthony J. Thibault
1f8c8adbd6
Added AnimOverlay node, moved blend sub-routine into AnimUtil.
2015-08-05 17:05:53 -07:00
Anthony J. Thibault
2d0315978e
Fix for compilation on linux.
2015-08-05 12:32:15 -07:00
Anthony J. Thibault
2154f76202
Added some comments to AnimNode, AnimClip & AnimBlendLinear.
2015-08-05 12:03:20 -07:00
Howard Stearns
bb974edf7f
Add assert on mix range.
2015-08-05 11:09:04 -07:00
Howard Stearns
f51b5be167
Simplify fade normalization, eliminating a loop.
2015-08-05 11:00:40 -07:00
Howard Stearns
653e46fdd3
const methods.
2015-08-05 10:51:26 -07:00
Howard Stearns
2f2b59b6b6
Merge branch 'master' of https://github.com/highfidelity/hifi into smooth-faded-animations
2015-08-05 10:05:05 -07:00
Howard Stearns
a1f86cc7b8
Make MSVC happy.
2015-08-04 19:49:12 -07:00
Anthony J. Thibault
5d83976e2a
Added AnimBlendLinear + tests.
...
MyAvatar now does a sine wave blend between a walk
and a walk animation.
2015-08-04 18:14:50 -07:00
Anthony J. Thibault
559367db4a
Got to the bottom of the bind pose question.
...
When TRUST_BIND_TRANSFORM is defined in AnimSkeleton, the bind pose is taken
from the FBXJoint::bindTransform field, which is correct for all joints
bound to actual geometry. Basically it's not trust worthy for bones NOT bound to anything.
When TRUST_BIND_TRANSFORM is not defined, the bind pose is taken from the other
FBXJoint fields. Unfortunatly these poses are NOT the bind pose, but instead
are taken from the FBX files 'resting' pose. i.e. frame 0.
2015-08-04 18:14:49 -07:00