快速导航:   教程资源  | 经典范例  | 友情链接  | 联系我们  | 官方微博
登陆 | 注册

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: 很遗憾,flash组件不能在stage3d中使用了,因为不是displayObject,所以只能自制组件










最近更新:
● wan925446570阁下在讨论区里 发表新主题“怎么配置away3d运行环境啊???...”(20:38:35)
● yanfaqiang阁下在讨论区里 回复“《超简易papervision3D基础 ...”(18:08:41)
● cripel阁下在讨论区里 回复“...”(14:38:04)
浏览主题: Plane用图片做材质,Sphere地球就有线框

Plane用图片做材质,Sphere地球就有线框
jatai (2010-11-03 10:42:13)

不知道哪发附件,我就发源码了
 Plane用颜色做材质,或不加载图片时, 地球是没有线的,加载了外部图片后,就出线框了


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
        package  {
  import  flash.display.Sprite;
  import  flash.display.StageAlign;
  import  flash.display.StageScaleMode;
  import  flash.events.Event;

  import  org.papervision3d.Papervision3D;
  import  org.papervision3d.cameras.Camera3D;
  import  org.papervision3d.core.proto.MaterialObject3D;
  import  org.papervision3d.materials.BitmapFileMaterial;
  import  org.papervision3d.materials.ColorMaterial;
  import  org.papervision3d.objects.primitives.Plane;
  import  org.papervision3d.objects.primitives.Sphere;
  import  org.papervision3d.render.BasicRenderEngine;
  import  org.papervision3d.scenes.Scene3D;
  import  org.papervision3d.view.Viewport3D;

  public  class  main  extends  Sprite  {
    private  var  scene:Scene3D;
    private  var  camera:Camera3D;
    private  var  view:Viewport3D;
    private  var  render:BasicRenderEngine;
    private  var  sphere:Sphere;
    private  var  plane:Plane;
    private  var  material:BitmapFileMaterial;

    public  function  main()  {

      init3D();
      this.addEventListener(  Event.ENTER_FRAME,  loop3D  );

    }
    private  function  init3D():void  {

      scene=new  Scene3D();
      camera=new  Camera3D();
      camera.focus=12;
      view=new  Viewport3D(490,  364);
      addChild(view);
      render=new  BasicRenderEngine();
      addEarth();
      addSpaces();
    }
    private  function  addSpaces():void  {
      var  materialSpace  :ColorMaterial  =  new  ColorMaterial(  0xFF0000,  0.5  );
      materialSpace.doubleSided  =  true;
      var  total:int  =7;
      var  rad  :Number  =  400;

      for  (var  i:int  =  0;  i  <  total;  i++)  {
        var  material:BitmapFileMaterial  =  new  BitmapFileMaterial("img/image_"  +  i  +  ".jpg");
        material.doubleSided  =  true;
        var  plane:Plane  =  new  Plane(  material,  120,  120,  1,  1  );
        
        var  ax    :Number  =  Math.random()  *  Math.PI;
        //var  ay    :Number  =  2+Math.random()  *  Math.PI  ;
        var  ay    :Number  =  Math.random()  *  Math.PI  *  2;

        plane.x  =  rad  *  Math.sin(  ax  )  *  Math.cos(  ay  );
        plane.y  =  rad  *  Math.sin(  ax  )  *  Math.sin(  ay  );
        plane.z  =  rad  *  Math.cos(  ax  );

        plane.lookAt(  sphere  );
        sphere.addChild(  plane  );
      }
    }
    private  function  addEarth():void  {
      material=new  BitmapFileMaterial("New_earthmap.jpg");
      sphere=new  Sphere(material,  350,  20,  20);
      scene.addChild(sphere);
      sphere.y=-20;
    }
    private  function  loop3D(e:Event):void  {
      sphere.yaw(-1);
      render.renderScene(scene,  camera,  view);
    }
  }
}        






flash 3d 研究所 cripel
(2010-11-04 11:32:15)
是不是用的flex啊?我用flex的时候有时候也有这个问题


评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了