2013-03-01 2 views
0

현재 GoblinXNA에서 제공 한 '튜토리얼 8 - 마커 추적'프로그램을 기반으로 AR 프로젝트를 진행 중입니다. 나는 그걸 가지고 놀았고 .fbx 형식으로 저장된 내 자신의 디자인 중 일부 모델로 대체했습니다. 내가 가지고있는 문제는 .Diffuse 확장이 모델의 원래 색상을 빨간색으로 대체한다는 것입니다. 색상을 바꾸어도 아무런 차이가 없으며 색상 만 바꾸면 모델의 원래 모양을 유지할 수 없으며 코드의 .Diffuse 줄을 제거하면 모델이 회색과 검정색 음영으로 바뀝니다. CreateLights() 메서드를 사용하여 수행 하시겠습니까?)FBX 모델에서 확산 색 제거하기

어떤 경우이든 여기에 객체의 코드 형식이 있습니다. 어떤 도움을 많이 주시면 감사하겠습니다!

ModelLoader mLoader = new ModelLoader(); //self explanatory 
    Model flagModel = (Model)mLoader.Load("", "FlagModelAsset2"); 

    flagNode = new GeometryNode("FlagModelAsset2"); 
    flagNode.Model = flagModel; 
    flagNode.AddToPhysicsEngine = true; 
    flagNode.Physics.Shape = ShapeType.Box; 
    flagNode.Model.ShadowAttribute = ShadowAttribute.ReceiveCast; 
    flagNode.Model.Shader = new SimpleShadowShader(scene.ShadowMap); 

    //TransformNode flagTransNode = new TransformNode(); 
    //flagTransNode.Translation = new Vector3(0, 0, 0); //position of flag 
    //flagTransNode.Scale = new Vector3(1f, 1f, 1f); //size of flag 

    toolbarMarkerNode = new MarkerNode(scene.MarkerTracker, "ALVARToolbar.xml"); 

    Material flagMaterial = new Material(); 
    flagMaterial.Diffuse = new Vector4(0.5f, 2, 0, 1); //colour of flag 
    flagMaterial.Specular = Color.White.ToVector4(); 
    flagMaterial.SpecularPower = 10; 

    flagNode.Material = flagMaterial; 

    groundMarkerNode.AddChild(flagNode); 
    scene.RootNode.AddChild(toolbarMarkerNode); 
    //flagNode.AddChild(flagTransNode);    


    NewtonPhysics.CollisionPair pair = new NewtonPhysics.CollisionPair(flagNode.Physics, sphereNode.Physics); 
    ((NewtonPhysics)scene.PhysicsEngine).AddCollisionCallback(pair, BoxSphereCollision); 
} 

답변

0

; 이것을 제거하고 아래 코드를 추가하면 원래 가져온 파일의 텍스쳐를 사용할 수 있습니다.

((Model)flagNode.Model).UseInternalMaterials = true;