How to make SCNSphere with a UIImage diffuse contents not care about lighting but simply show the original...












1















I'm trying to add a global sphere to my scene which has a skybox image applied to it. The issue is the lighting in the scene directly impacts its presentation. I'd like the applied image to present exactly as designed; essentially lighting agnostic.



My assumption was I could modify the SCNMaterial to make this work but I can't figure out what settings I should use. My alternative solution is to add a ton of spot SCNLights to the scene and point them at the sphere. I'd like to avoid this.



let sphere = SCNSphere(radius: 2000.0)
sphere.firstMaterial?.isDoubleSided = true
sphere.firstMaterial?.diffuse.contents = UIImage(named: "skybox")

let sphereNode = SCNNode(geometry: sphere)
sphereNode.castsShadow = false
sphereNode.position = SCNVector3Make(0, 0, 0)
scene.rootNode.addChildNode(sphereNode)


I know this can be solved with SCNScenes background.content but we're using an orthographic camera which disables the default skybox functionality. So, as an aside, if you know how to make the default skybox work with an orthographic camera that would also solve this problem. See Using Cube Map Textures for skybox specs.










share|improve this question























  • Have you looked at the lightingModel property of SCNMaterial?

    – 0x141E
    Nov 24 '18 at 9:36
















1















I'm trying to add a global sphere to my scene which has a skybox image applied to it. The issue is the lighting in the scene directly impacts its presentation. I'd like the applied image to present exactly as designed; essentially lighting agnostic.



My assumption was I could modify the SCNMaterial to make this work but I can't figure out what settings I should use. My alternative solution is to add a ton of spot SCNLights to the scene and point them at the sphere. I'd like to avoid this.



let sphere = SCNSphere(radius: 2000.0)
sphere.firstMaterial?.isDoubleSided = true
sphere.firstMaterial?.diffuse.contents = UIImage(named: "skybox")

let sphereNode = SCNNode(geometry: sphere)
sphereNode.castsShadow = false
sphereNode.position = SCNVector3Make(0, 0, 0)
scene.rootNode.addChildNode(sphereNode)


I know this can be solved with SCNScenes background.content but we're using an orthographic camera which disables the default skybox functionality. So, as an aside, if you know how to make the default skybox work with an orthographic camera that would also solve this problem. See Using Cube Map Textures for skybox specs.










share|improve this question























  • Have you looked at the lightingModel property of SCNMaterial?

    – 0x141E
    Nov 24 '18 at 9:36














1












1








1








I'm trying to add a global sphere to my scene which has a skybox image applied to it. The issue is the lighting in the scene directly impacts its presentation. I'd like the applied image to present exactly as designed; essentially lighting agnostic.



My assumption was I could modify the SCNMaterial to make this work but I can't figure out what settings I should use. My alternative solution is to add a ton of spot SCNLights to the scene and point them at the sphere. I'd like to avoid this.



let sphere = SCNSphere(radius: 2000.0)
sphere.firstMaterial?.isDoubleSided = true
sphere.firstMaterial?.diffuse.contents = UIImage(named: "skybox")

let sphereNode = SCNNode(geometry: sphere)
sphereNode.castsShadow = false
sphereNode.position = SCNVector3Make(0, 0, 0)
scene.rootNode.addChildNode(sphereNode)


I know this can be solved with SCNScenes background.content but we're using an orthographic camera which disables the default skybox functionality. So, as an aside, if you know how to make the default skybox work with an orthographic camera that would also solve this problem. See Using Cube Map Textures for skybox specs.










share|improve this question














I'm trying to add a global sphere to my scene which has a skybox image applied to it. The issue is the lighting in the scene directly impacts its presentation. I'd like the applied image to present exactly as designed; essentially lighting agnostic.



My assumption was I could modify the SCNMaterial to make this work but I can't figure out what settings I should use. My alternative solution is to add a ton of spot SCNLights to the scene and point them at the sphere. I'd like to avoid this.



let sphere = SCNSphere(radius: 2000.0)
sphere.firstMaterial?.isDoubleSided = true
sphere.firstMaterial?.diffuse.contents = UIImage(named: "skybox")

let sphereNode = SCNNode(geometry: sphere)
sphereNode.castsShadow = false
sphereNode.position = SCNVector3Make(0, 0, 0)
scene.rootNode.addChildNode(sphereNode)


I know this can be solved with SCNScenes background.content but we're using an orthographic camera which disables the default skybox functionality. So, as an aside, if you know how to make the default skybox work with an orthographic camera that would also solve this problem. See Using Cube Map Textures for skybox specs.







swift sprite-kit






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 23 '18 at 1:39









thattysonthattyson

594613




594613













  • Have you looked at the lightingModel property of SCNMaterial?

    – 0x141E
    Nov 24 '18 at 9:36



















  • Have you looked at the lightingModel property of SCNMaterial?

    – 0x141E
    Nov 24 '18 at 9:36

















Have you looked at the lightingModel property of SCNMaterial?

– 0x141E
Nov 24 '18 at 9:36





Have you looked at the lightingModel property of SCNMaterial?

– 0x141E
Nov 24 '18 at 9:36












1 Answer
1






active

oldest

votes


















1














As it turns out, skybox images work with an orthographic camera only on-device, not on-simulator. Perspective cameras allow skybox images to work on both simulator and device. We had assumed the simulator was okay to test on since the skybox image worked initially when we had a perspective camera.



TL;DR Running the app on a physical device shows the skybox for an orthographic camera; simulator does not.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53439722%2fhow-to-make-scnsphere-with-a-uiimage-diffuse-contents-not-care-about-lighting-bu%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    As it turns out, skybox images work with an orthographic camera only on-device, not on-simulator. Perspective cameras allow skybox images to work on both simulator and device. We had assumed the simulator was okay to test on since the skybox image worked initially when we had a perspective camera.



    TL;DR Running the app on a physical device shows the skybox for an orthographic camera; simulator does not.






    share|improve this answer




























      1














      As it turns out, skybox images work with an orthographic camera only on-device, not on-simulator. Perspective cameras allow skybox images to work on both simulator and device. We had assumed the simulator was okay to test on since the skybox image worked initially when we had a perspective camera.



      TL;DR Running the app on a physical device shows the skybox for an orthographic camera; simulator does not.






      share|improve this answer


























        1












        1








        1







        As it turns out, skybox images work with an orthographic camera only on-device, not on-simulator. Perspective cameras allow skybox images to work on both simulator and device. We had assumed the simulator was okay to test on since the skybox image worked initially when we had a perspective camera.



        TL;DR Running the app on a physical device shows the skybox for an orthographic camera; simulator does not.






        share|improve this answer













        As it turns out, skybox images work with an orthographic camera only on-device, not on-simulator. Perspective cameras allow skybox images to work on both simulator and device. We had assumed the simulator was okay to test on since the skybox image worked initially when we had a perspective camera.



        TL;DR Running the app on a physical device shows the skybox for an orthographic camera; simulator does not.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 19 '18 at 21:43









        thattysonthattyson

        594613




        594613
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53439722%2fhow-to-make-scnsphere-with-a-uiimage-diffuse-contents-not-care-about-lighting-bu%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            這個網誌中的熱門文章

            Academy of Television Arts & Sciences

            L'Équipe

            1995 France bombings