我第一次使用Away3D并且在运行时简单地加载3D模型时遇到了很大困难。
我正在使用AIR 4.0和最新的Away3D库。
设置似乎很好,我可以编译没有错误!!
我已经尝试过我在网上找到的各种各样但我会不遗余力地尝试。 这是我最近的一个,显示模型缺少什么?它似乎是根据痕迹加载,但我无法显示它!
如果有帮助我可以展示我尝试过的其他内容,但我对此表示怀疑!
package {
//imports ...
public class Main extends MovieClip{
private var view:View3D;
private var scene:Scene3D;
private var cam:Camera3D;
private var _loader:Loader3D;
public function Main() {
trace("Main()");
initAway();
}
private function initAway():void
{
addChild(new AwayStats());
view = new View3D();
scene = new Scene3D();
cam = new Camera3D();
view.scene = scene;
view.camera = cam;
view.camera.lookAt(new Vector3D());
addChild(view);
Parsers.enableAllBundled();
_loader = new Loader3D();
_loader.load(new URLRequest('/assets/test.obj'));
_loader.addEventListener(LoaderEvent.RESOURCE_COMPLETE, onSceneResourceComplete);
_loader.addEventListener(AssetEvent.ASSET_COMPLETE, onAssetComplete);
}
private function onAssetComplete(event:AssetEvent):void
{
trace("assetType = " + event.asset.assetType );
/*
OUTPUT:
assetType = geometry
assetType = mesh
assetType = material
assetType = material
*/
}
private function onSceneResourceComplete(event : LoaderEvent) : void {
trace("loaded " + event.currentTarget);
// OUTPUT: loaded [object Loader3D
//view.scene.addChild(_loader); //not working
var container : ObjectContainer3D = ObjectContainer3D(event.target);
view.scene.addChild(container);
}
}
}
在/ assets中有一个.obj和相应的.mtl文件
答案 0 :(得分:1)
我一直有这个问题用3D。
如果其他一切似乎都有效,那么你的模型可能是(0,0,0)而你的相机是(0,0,0)(里面)。
将加载的模型移动到说(0,0,10)并让你的相机看起来是矢量(0,0,10)。
答案 1 :(得分:0)
你的物体上有一些物质,这是可见的吗? 还可以尝试移动,旋转,缩放物体和移动相机。
首先添加一些行元素"球体等"看看你的立场是否正确。然后将对象添加到其中。
答案 2 :(得分:0)
试试这个,我总是这样做而且有效:
private function onAssetComplete(event:AssetEvent):void
{
trace("assetType = " + event.asset.assetType );
/*
OUTPUT:
assetType = geometry
assetType = mesh
assetType = material
assetType = material
*/
if (event.assetType == "mesh") {
var m:Mesh = event.asset as Mesh;
view.scene.addChild(m);
//If still your mesh is invisible, try scaling rotating moving it.
}
}
答案 3 :(得分:0)
您必须使用view.render()
呈现视图,以显示任何内容。