EDIT: Can anyone confirm that I am using the correct version of Away3D? I am aware of that change that is mentioned above.
I will also be using the Jiglib physics library for this project. Does anyone know of any problem areas I could face with regards to that. I have already got this working together in a seperate project file Thanks again On Jan 24, 4:57 pm, rocketmcm <[email protected]> wrote: > Can anyone confirm that I am using the correct version of Away3D? I am > aware of that change that is mentioned above. > > I will also be using the Jiglib physics library for this project. Does > anyone know of any problem areas I could face with regards to that. > > Thanks again > > On Jan 22, 7:03 pm, rocketmcm <[email protected]> wrote: > > > Am I right in saying that to use an older version like 2.3 I would > > need to target FP9? This is not something I can do with this version > > of the FLARManager and I am unwilling to compromise by dropping down > > in the version of FLARManager too. > > > Surely I am just missing something syntactically, no? Or my method of > > implementation perhaps. > > > On Jan 22, 5:55 am, Alex <[email protected]> wrote: > > > > Try older version of Away3D (such as 2.3.3), maybe the problem is > > > MatrixAway3D class which in older version is named as Matrix3D > > > > On 1月22日, 上午6时02分, rocketmcm <[email protected]> wrote: > > > > > Hey there, > > > > > I can not figure out where I am going wrong below. I have downloaded > > > > the demo's on both the FLARManager(to see how Away3D is implemented) > > > > and the Away3D site but can not see what I am missing. > > > > > What I am trying to do here is place a sphere on top of the marker. > > > > This is the code I have below. > > > > > FLARManager Version: latest download from site > > > > Away3D version: 3.4 > > > > Targeting FP10 from Flex. > > > > > Code: > > > > ************************************ > > > > package { > > > > import away3d.*; > > > > import away3d.containers.ObjectContainer3D; > > > > import away3d.containers.Scene3D; > > > > import away3d.containers.View3D; > > > > import away3d.core.render.*; > > > > import away3d.materials.WireColorMaterial; > > > > import away3d.primitives.Plane; > > > > import away3d.primitives.Sphere; > > > > > import com.transmote.flar.FLARManager; > > > > import com.transmote.flar.marker.FLARMarker; > > > > import com.transmote.flar.marker.FLARMarkerEvent; > > > > import com.transmote.flar.utils.geom.FLARAwayGeomUtils; > > > > > import examples.*; > > > > > import flash.display.Sprite; > > > > import flash.events.Event; > > > > import flash.events.MouseEvent; > > > > > import org.libspark.flartoolkit.support.away3d.FLARCamera3D; > > > > > [SWF(width="640", height="480", frameRate="30", > > > > backgroundColor="#FFFFFF")] > > > > > public class FLARManagerExampleLauncher extends Sprite { > > > > > private var fm:FLARManager; > > > > private var scene:Scene3D; > > > > private var view:View3D; > > > > private var camera:FLARCamera3D; > > > > private var ball:Sphere; > > > > private var p:Plane; > > > > private var activeMarker:FLARMarker; > > > > private var v:Vid; > > > > private var con:ObjectContainer3D; > > > > private var re:BasicRenderer; > > > > > public function FLARManagerExampleLauncher () { > > > > initFLAR(); > > > > } > > > > > private function initFLAR():void{ > > > > fm = new > > > > FLARManager("../resources/flar/flarConfig.xml"); > > > > > > > > > fm.addEventListener(FLARMarkerEvent.MARKER_ADDED, onAdded); > > > > > > > > fm.addEventListener(FLARMarkerEvent.MARKER_REMOVED, onRemoved); > > > > fm.addEventListener(Event.INIT, init3D); > > > > addChild(Sprite(fm.flarSource)); > > > > } > > > > > private function init3D(e:Event):void{ > > > > // remove init event listener > > > > fm.removeEventListener(Event.INIT, init3D); > > > > > scene = new Scene3D(); > > > > camera = new FLARCamera3D(fm.cameraParams); > > > > camera.z = -30; > > > > view = new View3D({scene:scene, camera:camera}); > > > > addChild(view); > > > > > con = new ObjectContainer3D(); > > > > scene.addChild(con); > > > > > var ballMat:WireColorMaterial = new > > > > WireColorMaterial(0x666666, > > > > {wirecolor:0xFFFFFF}); > > > > ball = new Sphere({material:ballMat, radius:18, > > > > segmentsW:10, > > > > segmentsH:10}); > > > > con.addChild(ball); > > > > > //addChild(new FramerateDisplay()); > > > > this.addEventListener(Event.ENTER_FRAME, loop); > > > > } > > > > > private function loop(e:Event):void{ > > > > trace("loop") > > > > if(activeMarker != null){ > > > > con.transform = > > > > FLARAwayGeomUtils.convertFLARMatrixToAwayMatrix > > > > (activeMarker.transformMatrix); > > > > } > > > > view.render(); > > > > } > > > > > private function onAdded(e:FLARMarkerEvent):void{ > > > > activeMarker = e.marker; > > > > trace("Marker Added"); > > > > } > > > > > private function onRemoved(e:FLARMarkerEvent):void{ > > > > activeMarker = null; > > > > trace("Marker Removed"); > > > > } > > > > } > > > > > } > > > > > Error printed in the console: > > > > ************************************ > > > > TypeError: Error #1009: Cannot access a property or method of a null > > > > object reference. > > > > at > > > > away3d.core.math::MatrixAway3D/inverse()[U:\Global\away3d\core\math > > > > \MatrixAway3D.as:649] > > > > at org.libspark.flartoolkit.support.away3d::FLARCamera3D/get > > > > viewMatrix()[U:\Flex Builder\FLARManager\src\org\libspark\flartoolkit > > > > \support\away3d\FLARCamera3D.as:131] > > > > at away3d.core.traverse::ProjectionTraverser/set > > > > view()[U:\Global > > > > \away3d\core\traverse\ProjectionTraverser.as:46] > > > > at > > > > away3d.containers::Scene3D/update()[U:\Global\away3d\containers > > > > \Scene3D.as:211] > > > > at > > > > away3d.containers::Scene3D/onUpdate()[U:\Global\away3d\containers > > > > \Scene3D.as:63] > > > > at flash.events::EventDispatcher/dispatchEventFunction() > > > > at flash.events::EventDispatcher/dispatchEvent() > > > > at > > > > away3d.containers::View3D/notifySceneUpdate()[U:\Global\away3d > > > > \containers\View3D.as:228] > > > > at > > > > away3d.containers::View3D/render()[U:\Global\away3d\containers > > > > \View3D.as:907] > > > > at FLARManagerExampleLauncher/loop()[U:\Flex > > > > Builder\FLARManager\src > > > > \FLARManagerExampleLauncher.as:86] > > > > > The launching "suspends" and opens up MatrixAway3D.as with the first > > > > line of the inverse() function highlighted. > > > > > I am new to Flex Builder, Away3D and the FLARManager and so it is > > > > likely I will be tripping up a lot of the way when I am using this > > > > stuff. > > > > I would really appreciate some tips on to how I could have used what > > > > information I have got here to see where I have gone wrong. This would > > > > also stop me from having to annoy people on this forum in future :) > > > > > I know from the debugger that "m" is null which I assume is the > > > > problem (being a null object reference), I have tried to dig around in > > > > the code and the docs but have not got anywhere. I think I am just not > > > > using the render function correctly but I can not see any difference > > > > in the way I have implemented this code and others that work. > > > > > Thanks for your time.
