public void setup() { _myArcball = new CCArcball(this); final List<CCForce> myForces = new ArrayList<CCForce>(); myForces.add(_myViscousDrag = new CCViscousDrag(0.3f)); myForces.add(_myForceField); myForces.add(_myTargetForce = new CCGPUMultiTargetForce(700, 700)); myForces.add(_myGravity = new CCGravity(new CCVector3f())); _myParticles = new CCParticles(g, myForces, new ArrayList<CCGPUConstraint>(), 700, 700); _myEmitter = new CCGPUIndexParticleEmitter(_myParticles); _myQuad = new CCQuad3f( new CCVector3f(-250, -250, 0), new CCVector3f(250, -250, 0), new CCVector3f(250, 250, 0), new CCVector3f(-250, 250, 0)); _myTargetSetup = new CCGPUTargetQuadSetup(_myQuad, CCGPUTargetQuadCreationMode.RANDOM); _myTargetForce.targetSetup(_myTargetSetup); for (int i = 0; i < 700 * 700; i++) { _myEmitter.emit(new CCVector3f(0, 0, 0), CCVecMath.random3f(10), 10, true); } addControls("app", "app", this); fixUpdateTime(1 / 30f); _myTileSaver = new CCTileSaver(g); addUpdateListener(_myTileSaver); addPostListener(_myTileSaver); }
@Override public void keyPressed(final CCKeyEvent theEvent) { switch (theEvent.keyCode()) { case VK_S: _myTileSaver.init("export_tile3/" + frameCount + ".png", 5); g.pointSize(10); // CCScreenCapture.capture("export/"+frameCount+".png", width, height); break; case VK_R: g.pointSize(1); // _myBasicShader.reload(); // _myColorScaleShader.reload(); break; case VK_D: g.pointSize(1); _myParticles.reset(); for (int i = 0; i < 700 * 700; i++) { _myEmitter.emit(new CCVector3f(0, 0, 0), CCVecMath.random3f(10), 10, true); } break; default: } }
@Override public void setup() { addControls("app", "app", this); _myArcball = new CCArcball(this); CCColladaLoader myColladaLoader = new CCColladaLoader("humanoid.dae"); CCColladaScene myScene = myColladaLoader.scenes().element(0); CCColladaSkinController mySkin = myColladaLoader.controllers().element(0).skin(); CCColladaSkeleton mySkeleton = new CCColladaSkeleton(mySkin, myScene.node("bvh_import/Hips")); if (USE_SKELETON_SENDER) { _myReceiver = new CCSkeletonReceiver(new CCUDPIn<>(new CCNetXMLCodec(), "127.0.0.1", 9000)); _mySkeletonManager = new CCSkeletonManager(this, mySkeleton, _myReceiver); _myReceiver.start(); } else { _myOpenNI = new CCOpenNI(this); _myOpenNI.openFileRecording("SkeletonRec.oni"); _myUserGenerator = _myOpenNI.createUserGenerator(); _myOpenNI.start(); _mySkeletonManager = new CCSkeletonManager(this, mySkeleton, new CCOpenNISkeletonProvider(_myUserGenerator)); } _myTouchInteractionManager = new CCSkeletonTouchInteractionManager( this, CCSkeletonJointType.LEFT_HAND, CCSkeletonJointType.RIGHT_HAND); _mySkeletonManager.events().add(_myTouchInteractionManager); _myTouchInteractionManager.createMouseSource(); CCSkeletonTouchLocationListener myListener = new CCSkeletonTouchLocationListener() { @Override public void onOver(CCSkeletonTouchLocation theLocation) { // CCLog.info("ON OVER:" + theLocation.name()); } @Override public void onOut(CCSkeletonTouchLocation theLocation) { // CCLog.info("ON OUT:" + theLocation.name()); } @Override public void onSelect(CCSkeletonTouchLocation theLocation) { // CCLog.info("ON SELECT:" + theLocation.name()); } @Override public void onDeselect(CCSkeletonTouchLocation theLocation) { // CCLog.info("ON DESELECT:" + theLocation.name()); } }; for (int i = 0; i < 100; i++) { CCSkeletonTouchLocation myLocation = new CCSkeletonTouchLocation("loc:" + i, CCVecMath.random3f(300)); myLocation.events().add(myListener); _myTouchInteractionManager.locations().add(myLocation); } }