あの年賀サイトのソースコードをアップしときました。お年玉あげるー。
これ→ http://09.aid-dcc.com/aid-nenga2009-source.zip
GPL はー、リクエストがあったときにソースコード出せばいいって感じなのだけど、どうやって作ってるんかつー質問がいくつかきてて何もなしに答えるのがめんどいので先に出しておこう、とか、そんな感じ。
中の README にも書いておいたですがこのアーカイブに含まれる全てのコードに GPL が適用されてるので、このソースコードを元に新しく何か作る場合、それも GPL ってことになります。ご注意を。
ああそうだ、ここだけの話、ちょっとメモリリークしてんだよねー。誰か直してくだちい。
追記(1/18 18:44):前にも問い合わせをもらってたんだけどなんかよくわからなくて放置してたヤツ。パブリッシュしても真っ白でなんにもはじまらない問題。昨日のてら子でようやく気がつきました。これ、アレです。そうでしたそうでした。ちょうどこのサイト作ってるときにエラー出まくってて、調べたのでした。家の MBP でも真っ白で意味わからなかったのだけど、メモリ増やしたら正常にパブリッシュできた。というわけで、お試しくだせい。
Comments (12)
hi,
i have a requessst .Is it possible for you to release the source code of the application which you embeeded on the above link(in you tube in which alphabets and some other things are coming out from the marker).
I will really appreciate your help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Please replay soon!!!!!!!!!
Thanks in advance, keep the good work!!
I think that... the source code what you want is written in this entry.
> Eduardo
To use mulitple markers with FLARToolKit is a bit heavy work for Flash Player. But it is not mean that you cannot use multiple markers. FLARMultiMarkerDetector class included in FLARToolKit is for detect multiple markers. I didn't try to use multiple markers yet. Please try that class and report to me. ;-)
Sorry for late reply. I found that this problem is due to Flash compiler bug, maybe. Workaround is posted here.
http://www.negush.net/blog/5005-unknown-error-optimizing-byte-code/
I tried to opened index.fla, hit ctrl+enter too after having deleted the .aso files generated by Flash but nothing i can see. I didn't found the “Reduce file size and increase performance” in the parameters of publication in Adobe Flash CS4. Could you tell me if there are other modifications to do to make this code running?
I have tried the FLARMULTIMarkerDetector. The tracking seems to be less robust than with the FLARsingleMarkerDetector.
Thanks in advance!
That problem is same as funkydokta's. so try to do workaround above.
Multimarker is not fully tested. so I cannot give you advice currently... :-(
thanks 4 reply.Can you please suggest some tutorials in order to understand how to created AG applications in flash.Pleaseeeee.
Its very important for my studies.
I have a question about Flartoolkit. The camera seems to be linked to patterns. If I remove the pattern but keep the object, the object follows the movement of the camera but if i keep the pattern, I can rotate the camera without moving the object. Is it possible to make them independant?
Thanks a lot in advance!
I try to implement VideoStreamMateria but doesnt work the code...can you help me please
here is the code:
package {
import flash.events.Event;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.MouseEvent;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.objects.parsers.Collada;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.materials.VideoStreamMaterial;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.render.LazyRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
//import org.papervision3d.objects.parsers.MD2; //------------------------
[SWF(width=640,height=480,frameRate=30,backgroundColor=0x0)]
public class RASuite extends PV3DARApp
{
private var mCollada:Collada;
//private var mD2:MD2; //---------------------------------
private var universe:DisplayObject3D;
private var plane:Plane;
private var _plane:Plane;
private var videoCristina:VideoStreamMaterial;
private var quality:uint = 8;
private var nc:NetConnection;
private var video:Video;
private var ns:NetStream;
public function RASuite()
{
this.addEventListener(Event.INIT, this.onInit);
this.init('Data/camera_para.dat', 'Data/patt.hiro');
//plane = new Plane(videoStreamMaterial, 1600, 1200, quality, quality);
//plane = new Plane(videoStreamMaterial, 320, 240, quality, quality);
var customClient:Object = new Object();
customClient.onMetaData = metaDataHandler;
nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
ns.client = customClient;
ns.play("cristina.flv");
video = new Video();
video.width = 320;
video.height = 240;
video.smoothing = true;
video.attachNetStream(ns);
}
protected override function onInit():void
{
super.onInit();
this.removeEventListener(Event.INIT, this.onInit);
//Plano en lineas --------------------------------------------------
var wmat:WireframeMaterial = new WireframeMaterial(0xff0000, 1, 2);
wmat.doubleSided = true;
this._plane = new Plane(wmat, 80, 80);
this._baseNode.addChild(this._plane);
//------------------------------------------------------------------
//Carga Objeto DAE --------------------------
this.mCollada = new Collada("tank.dae");
this._baseNode.addChild(this.mCollada);
//-------------------------------------------
//------------------------------------------------------------------
videoCristina = new VideoStreamMaterial(video, ns);
this.plane = new Plane(videoCristina, 80, 80, quality, quality);
this._baseNode.addChild(this.plane);
//------------------------------------------------------------------
//this.mD2 = new MD2("tris.md2");
//this.universe = new DisplayObject3D();
//this._baseNode.addChild(this.universe);
//llama acciones externas----------------------------------------
this.stage.addEventListener(MouseEvent.CLICK, this._onClick);
addEventListener( Event.ENTER_FRAME, loop3D );
//---------------------------------------------------------------
}
private function metaDataHandler(infoObject:Object):void
{
trace('metaDataHandler',infoObject);
}
private function _onClick(e:MouseEvent):void
{
//this.mirror = !this.mirror;
this.ns.play("cristina.flv");
}
private function loop3D(event:Event):void
{
//_plane.x += ( ( -mouseX * 5 ) - _plane.x ) / 15;
//_plane.y += ( ( -mouseY * 5 ) - _plane.y ) / 15;
//this.ns.play("cristina.flv");
}
}
}
http://pastebin.com/f1243118e
Would you please help me?
Thank you
thanks in advance. waiting for ur response.