Exemplo n.º 1
0
 public override void DidAddNode(ISCNSceneRenderer renderer, SCNNode node, ARAnchor anchor)
 {
     if (anchor is ARFaceAnchor)
     {
         var faceGeometry = ARSCNFaceGeometry.Create(renderer.GetDevice());
         node.Geometry = faceGeometry;
         node.Geometry.FirstMaterial.FillMode = SCNFillMode.Fill;
         node.Opacity = 0.8f;
     }
 }
        public void AddFaceToNode(SCNNode node)
        {
            var face = new FaceNode(ARSCNFaceGeometry.Create(SCNView.Device));

            Faces.Add(face);

            SCNView.Scene.RootNode.Add(face);

            face.Position =
                SCNView.PointOfView.ConvertPositionToNode(new SCNVector3(0, 0, -1), SCNView.Scene.RootNode);
        }
Exemplo n.º 3
0
        public FaceNode(ARSCNFaceGeometry faceGeometry)
        {
            var mat = faceGeometry.FirstMaterial;

            mat.LightingModelName         = SCNLightingModel.PhysicallyBased;
            mat.Diffuse.Contents          = UIImage.FromFile("tile-small.png");
            mat.Diffuse.ContentsTransform = SCNMatrix4.Scale(32, 32, 0);
            mat.Diffuse.WrapS             = SCNWrapMode.Repeat;
            mat.Diffuse.WrapT             = SCNWrapMode.Repeat;

            Geometry = faceGeometry;
        }
        public void AddFace()
        {
            var face = new FaceNode(ARSCNFaceGeometry.Create(SCNView.Device));

            Faces.Add(face);

            SCNView.Scene.RootNode.Add(face);

            face.Position =
                SCNView.PointOfView.ConvertPositionToNode(new SCNVector3(0, 0, -1), SCNView.Scene.RootNode);

            var hover = 0.05f;

            face.RunAction(SCNAction.RepeatActionForever(
                               SCNAction.Sequence(new[] { SCNAction.MoveBy(0, hover, 0, 2).Ease(SCNActionTimingMode.EaseInEaseOut), SCNAction.MoveBy(0, -hover, 0, 2).Ease(SCNActionTimingMode.EaseInEaseOut) })));
        }
        public override SCNScene GetInitialScene()
        {
            FaceNode = new FaceNode(ARSCNFaceGeometry.Create(SCNView.Device));

            return(base.GetInitialScene());
        }