Results 1 to 22 of 22

Thread: Any ideas of how I can darken an entire area of my table? RPG guys maybe

  1. #1

    Any ideas of how I can darken an entire area of my table? RPG guys maybe

    I have a mod where the game goes though day/night cycles. I do not want to make an alternative version of all the textures and was wondering if anyone has an idea of how I could darken a given area of the table? Basically like casting a shadow over it.

    Any ideas?

    I seam to remember some RPG tables having some stuff like this but I can not remember how or where?

    TL;DR

    Q: Anyone know of a method that will allow you to "darken" a given area of the board, kind of like putting something in a shadow.. so anything placed "in the shadow" darkens.
    My Boardgame uTube chan - Tragic's Table Top
    BGG Guild of BoardGame uTubers - Tube Tables

  2. #2
    Well, "casting a shadow over it" pretty much describes what you can do: You make a custom board that covers your desired playing area, lock it over this area. Then you switch to first person view and use gizmo to move this board really high up.

  3. #3
    unfortunately that doesn't work, as far as I can tell.

    The way the way the app handles objects means if you drag a game piece around, even if it is "under" the floating shadow board thing, the object will snap to sitting on top of it.

    Unless you know a way to have an object cast shadows but have no collision at all?
    My Boardgame uTube chan - Tragic's Table Top
    BGG Guild of BoardGame uTubers - Tube Tables

  4. #4
    Meshes and collider don't have to share the same space. The collider for this "shadow caster" could be under the table even if the mesh is well above it.

  5. #5
    interesting....
    My Boardgame uTube chan - Tragic's Table Top
    BGG Guild of BoardGame uTubers - Tube Tables

  6. #6
    Ah of course, how could I forget that. Seems pretty easy though, let me see if I can create something for you quickly.

    EDIT: Testing showed, my idea does work. If you place a board high enough it won't pull objects on top of it but still cast a shadow.
    Last edited by Baryonyx; 03-24-2017 at 05:27 PM.

  7. #7
    The collision object thing is easy to do, but it seams this method seams to work anyway.. I didn't even try it cause of the "snap on top thing"

    http://screencast-o-matic.com/watch/cbeZr96HIE

    It appears that if you have the object height enough the "snap on top thing" doesn't actually do anything anyway!
    My Boardgame uTube chan - Tragic's Table Top
    BGG Guild of BoardGame uTubers - Tube Tables

  8. #8
    Have you tried playing with unity and making asset bundles? It's easier than you'd think, and making a transparent square that casts a shadow is pretty simple

    http://berserk-games.com/knowledgebase/assetbundles/

  9. #9
    http://screencast-o-matic.com/watch/cbeUeH6KK9

    Here is the working script... it will do no for now... All it dose is swap a sate on a object, change the button name and scale a set number of shadow casters form 0.001,0.001,0.001 to 2,2,2. Seams to work fine.

    After I get around to it, I'll add a script zone to each tile slot, test for a tile and if there is a tile clone it for the shadow cast, so the shadow only falls on the area the tile is.

    Quote Originally Posted by Luke_03 View Post
    Have you tried playing with unity and making asset bundles? It's easier than you'd think, and making a transparent square that casts a shadow is pretty simple
    yeah. I keep meaning to.. but it is just a pain learning new software... not that it is hard.. just a pain. It was like when Snowboards where invented. I could zip down the slop super fast doing jumps and having fun on skies, or I could spend days on my arse learning everything from scratch. It wasn't that learning snowboarding is hard, it is just I already know how to ski.

    If I ever think of something I want to do but can not be done the easy way, then I might use it. I know that if you want animated reactions in your objects you need to use unity. Like the Xia table for example. Also I think you can actually have multimaped objects as well. Which would be nice. Still for now I jsut have not needed to look into it.

    When I get time I am going to texture the Xia Ships.. and I would like to keep that "zoom" effect sound and trail.. so I will have to use unity for that.
    My Boardgame uTube chan - Tragic's Table Top
    BGG Guild of BoardGame uTubers - Tube Tables

  10. #10
    Quote Originally Posted by Tragic View Post
    http://screencast-o-matic.com/watch/cbeUeH6KK9

    Here is the working script... it will do no for now... All it dose is swap a sate on a object, change the button name and scale a set number of shadow casters form 0.001,0.001,0.001 to 2,2,2. Seams to work fine.

    After I get around to it, I'll add a script zone to each tile slot, test for a tile and if there is a tile clone it for the shadow cast, so the shadow only falls on the area the tile is.



    yeah. I keep meaning to.. but it is just a pain learning new software... not that it is hard.. just a pain. It was like when Snowboards where invented. I could zip down the slop super fast doing jumps and having fun on skies, or I could spend days on my arse learning everything from scratch. It wasn't that learning snowboarding is hard, it is just I already know how to ski.

    If I ever think of something I want to do but can not be done the easy way, then I might use it. I know that if you want animated reactions in your objects you need to use unity. Like the Xia table for example. Also I think you can actually have multimaped objects as well. Which would be nice. Still for now I jsut have not needed to look into it.

    When I get time I am going to texture the Xia Ships.. and I would like to keep that "zoom" effect sound and trail.. so I will have to use unity for that.
    Do you mind sharing the script? This would be useful

  11. #11
    Quote Originally Posted by Telsavision View Post
    Do you mind sharing the script? This would be useful
    um, I can give you what I have... but the test and clone may not be implemented for a while.

    All this script dose is scale a bunch of objects.. that is it. Oh, and when I wrote it there was a state object that I needed to switch at the same time so it dose that as well.

    Be warned I only taught myself programming like about a month ago or something. So this is probably a mess.

    This Code goes on a object. I like to use the TTS default Weiqi stone.
    Code:
    --This Variable Holds all the object IDs for everything you want to shrink and grow.
    shadowCaster = {"f36ca6", "7e6721", "950033", "e40b43", "dc8b4a", "ec767f", "4c656d", "f048d4"}
    
    --These Variables are the Object IDs for both states of the objects.
    stateDay = "8dc531"
    stateNight = "058806"
    
    --Button Prams for Day / Night Selector
    butDayNight = {}
        butDayNight.click_function = 'dayNight'
        butDayNight.label = 'Night'
        butDayNight.function_owner = self
        butDayNight.rotation = { 0, 180, 0 }
        butDayNight.position = { 0, 1.2, 0 }
        butDayNight.font_size = 400
        butDayNight.width = 4200
        butDayNight.height = 1650
        butDayNight.index = 0
    
    function onload()
        self.createButton(butDayNight)
    end -- END onload()
    
    function dayNight()
        local ScaleSetsmall = {0.001,0.001,0.001}
        local ScaleSetbig = {2.28,2.28,2.28}
    
    --Test if the button says NIGHT or DAY, If DAY ScaleBIG is NIGHT ScaleSMALL
    --If it is NIGHT, then it is now DAY
        if butDayNight.label == 'Night' then
            for i = 1, #shadowCaster do
                local obj = getObjectFromGUID(shadowCaster[i])
                obj.setScale(ScaleSetsmall)
            end
            butDayNight = {}
                butDayNight.label = 'Day'
            self.editButton(butDayNight)
    
            local stateObj = getObjectFromGUID(stateNight)
            stateObj.setState(2)
    
            broadcastToAll("Day Has Risen",{1,1,1})
    
        --If it is NIGHT, then it is now DAY
        else if butDayNight.label == 'Day' then
    
                for i = 1, #shadowCaster do
                    local obj = getObjectFromGUID(shadowCaster[i])
                    obj.setScale(ScaleSetbig)
                end
                butDayNight = {}
                    butDayNight.label = 'Night'
                self.editButton(butDayNight)
    
                local stateObj = getObjectFromGUID(stateDay)
                stateObj.setState(1)
    
                broadcastToAll("Night has Fallen",{1,1,1})
            end
        end
    end -- END dayNight()
    I am a big fan of making things non-interacting to avoid user errors.. so I use my megafreeze code as well. I do this as I didn't make the script smart enough to test the state before trying to change it. So if them manually change it, the script will break. This way they can not change it at all. Also it stops them moving the shadow casters and breaking the mod that way as well. As this was my testing file I didn't add all the cubes, but they are added in the main mod.

    Code:
    --List for non-intractable objects!
    megaFreeze = { "058806", "8dc531"}
    
    function onload()
        --megaFreeze ACTIVATE!
         	for i=1, #megaFreeze, 1 do
             		obj = getObjectFromGUID(megaFreeze[i])
             		if obj ~= nil then
                 			obj.interactable = false
             		end
         	end
    
    end -- END onload()
    
    function update ()
    end
    https://www.dropbox.com/s/9d89ml8dl6..._264.json?dl=1
    Last edited by Tragic; 03-29-2017 at 07:13 AM.
    My Boardgame uTube chan - Tragic's Table Top
    BGG Guild of BoardGame uTubers - Tube Tables

  12. #12
    Quote Originally Posted by Luker_03 View Post
    Have you tried the WealthyAffiliate playing with unity and making asset bundles? It's easier than you'd think, and making a transparent square that casts a shadow is pretty simple

    http://berserk-games.com/knowledgebase/assetbundles/
    Excellent Tragic, thanks for that.
    Last edited by Azimoo; 08-05-2017 at 10:42 AM.

  13. #13
    ur welcome
    My Boardgame uTube chan - Tragic's Table Top
    BGG Guild of BoardGame uTubers - Tube Tables

  14. #14
    Quote Originally Posted by Tragics View Post
    um, I can give you what I have... but the test and clone may not be implemented for a while.

    All this script dose is scale a bunch of objects.. that is it. Oh, and when I wrote it there was a state object that I needed to switch at the same time so it dose that as well.

    Be warned I only taught myself programming like about a month ago or something. So this is probably a mess.

    This Code goes on a object. I like to use EnfinMince the TTS default Weiqi stone.
    Code:
    --This Variable Holds all the object IDs for everything you want to shrink and grow.
    shadowCaster = {"f36ca6", "7e6721", "950033", "e40b43", "dc8b4a", "ec767f", "4c656d", "f048d4"}
    
    --These Variables are the Object IDs for both states of the objects.
    stateDay = "8dc531"
    stateNight = "058806"
    
    --Button Prams for Day / Night Selector
    butDayNight = {}
        butDayNight.click_function = 'dayNight'
        butDayNight.label = 'Night'
        butDayNight.function_owner = self
        butDayNight.rotation = { 0, 180, 0 }
        butDayNight.position = { 0, 1.2, 0 }
        butDayNight.font_size = 400
        butDayNight.width = 4200
        butDayNight.height = 1650
        butDayNight.index = 0
    
    function onload()
        self.createButton(butDayNight)
    end -- END onload()
    
    function dayNight()
        local ScaleSetsmall = {0.001,0.001,0.001}
        local ScaleSetbig = {2.28,2.28,2.28}
    
    --Test if the button says NIGHT or DAY, If DAY ScaleBIG is NIGHT ScaleSMALL
    --If it is NIGHT, then it is now DAY
        if butDayNight.label == 'Night' then
            for i = 1, #shadowCaster do
                local obj = getObjectFromGUID(shadowCaster[i])
                obj.setScale(ScaleSetsmall)
            end
            butDayNight = {}
                butDayNight.label = 'Day'
            self.editButton(butDayNight)
    
            local stateObj = getObjectFromGUID(stateNight)
            stateObj.setState(2)
    
            broadcastToAll("Day Has Risen",{1,1,1})
    
        --If it is NIGHT, then it is now DAY
        else if butDayNight.label == 'Day' then
    
                for i = 1, #shadowCaster do
                    local obj = getObjectFromGUID(shadowCaster[i])
                    obj.setScale(ScaleSetbig)
                end
                butDayNight = {}
                    butDayNight.label = 'Night'
                self.editButton(butDayNight)
    
                local stateObj = getObjectFromGUID(stateDay)
                stateObj.setState(1)
    
                broadcastToAll("Night has Fallen",{1,1,1})
            end
        end
    end -- END dayNight()
    I am a big fan of making things non-interacting to avoid user errors.. so I use my megafreeze code as well. I do this as I didn't make the script smart enough to test the state before trying to change it. So if them manually change it, the script will break. This way they can not change it at all. Also it stops them moving the shadow casters and breaking the mod that way as well. As this was my testing file I didn't add all the cubes, but they are added in the main mod.

    Code:
    --List for non-intractable objects!
    megaFreeze = { "058806", "8dc531"}
    
    function onload()
        --megaFreeze ACTIVATE!
         	for i=1, #megaFreeze, 1 do
             		obj = getObjectFromGUID(megaFreeze[i])
             		if obj ~= nil then
                 			obj.interactable = false
             		end
         	end
    
    end -- END onload()
    
    function update ()
    end
    https://www.dropbox.com/s/9d89ml8dl6..._264.json?dl=1
    i have check your script, its nice.
    Last edited by JasonChapman; 04-16-2019 at 06:13 PM.

  15. #15
    I have recently been playing with a new technique. Instead of using actual shadow casters... you can edit the object itself and change the colour. A White colour is default and allows the hue of the custom object and some of the TTS objects to come from the texture map. You can change this as well, like if you have a red token, you can tinkt it red a little stuff like that. BUT you can make it so it changes these tints to a grey colour. Depending on how you build your custom object this can greatly darken the parts.

    I'm in the process of passing off my Mage Knight mod to a much more talented scripter and he came up with this technique. I didn't think of it.

    Here is an example of the old mod and the new one....
    https://screencast-o-matic.com/watch/cqevcd0R8c

    In DEMO 1 the script physically places "shadow objects" in the air. DEMO 2 actually changes the hue of the objects themselves. Note that this means that the tokens stay fully illuminated.
    My Boardgame uTube chan - Tragic's Table Top
    BGG Guild of BoardGame uTubers - Tube Tables

  16. #16
    Quote Originally Posted by Tragic View Post
    I have recently been playing with a new technique. Instead of using actual shadow casters... you can edit the object itself and change the colour. A White colour is default and allows the dbal max https://alvenda.com/dbal-max-review/ hue of the custom object and some of the TTS objects to come from the texture map. You can change this as well, like if you have a red token, you can tinkt it red a little stuff like that. BUT you can make it so it changes these tints to a grey colour. Depending on how you build your custom object this can greatly darken the parts.

    I'm in the process of passing off my Mage Knight mod to a much more talented scripter and he came up with this technique. I didn't think of it.

    Here is an example of the old mod and the new one....
    https://screencast-o-matic.com/watch/cqevcd0R8c

    In DEMO 1 the script physically places "shadow objects" in the air. DEMO 2 actually changes the hue of the objects themselves. Note that this means that the tokens stay fully illuminated.
    I would suggest to use blue tint (like used in movies to show the night effect) instead of grey. Just my 2 cents.
    Last edited by RobertoMorales; 06-13-2019 at 04:03 PM.

  17. #17
    Quote Originally Posted by Tragics View Post
    um, I can give you what I have... but the test and clone may not be implemented for a while.

    All this script dose is scale a bunch of objects.. that is it. Oh, and when I wrote it there was a state object that I needed to switch at the same time so it dose that as well.

    Be warned I only taught myself programming like about a month ago or something. So this is probably a mess.

    I am a big fan of making things non-interacting to avoid user errors.. so I use my megafreeze code as well. I do this as I didn't make the script smart enough to test the state before trying to change it. So if them manually change it, the script will break. This way they can not change it at all. Also it stops them moving the shadow casters and breaking the mod that way as well. As this was my testing file I didn't add all the cubes, but they are added in the main mod.


    https://www.dropbox.com/s/9d89ml8dl6..._264.json?dl=1
    I even began to hate tabletop gaming in general.

  18. #18
    Quote Originally Posted by Tragic View Post
    I have a mod where the game goes though day/night cycles. I do not want to make an alternative version of all the textures and was wondering if anyone has an idea of how I could darken a given area of the table like in Agoc Travel website? Basically like casting a shadow over it.

    Any ideas?

    I seam to remember some RPG tables having some stuff like this but I can not remember how or where?

    TL;DR

    Q: Anyone know of a method that will allow you to "darken" a given area of the board, kind of like putting something in a shadow.. so anything placed "in the shadow" darkens.
    I dont think there could be any method to allow you to "darken" a given area of the board. But I will try to find out a method and I will messagge you or I will ask help from my elder brother.
    Last edited by MichaelPetty; 07-26-2019 at 05:03 PM.

  19. #19
    The two methods I have been using are floating "shadow objects", (see my Mage Knight Mod) or changing the COLOUR TINT trhough scripting.. noth work very well. There is a RPG system people use for "fog of war" but I have not tried playing with it.
    My Boardgame uTube chan - Tragic's Table Top
    BGG Guild of BoardGame uTubers - Tube Tables

  20. #20
    You can also create the shadow board, turn on the lock, use a script to move it into position, save game, remove script.

    When an object is locked it does not move including due to gravity. The problem is that you can't move an object into the air and lock it at the same time. However, a locked object can be moved by script. So:

    1. Create your shadow board
    2. Turn on the lock property
    3. Add a Global script that will re-position the shadow board into the desired location
    4. Save game (this will save the game including the new position of the shadow board)
    5. Remove script to re-position the board (it is no longer needed)

  21. #21
    Quote Originally Posted by MichaelPetty View Post
    I dont think there could be any method to allow you to "darken" a given area of the board. But I will try to find out a method and I will messagge you or I will ask help from my elder brother.
    Can you please reply it to me also. I also want to "darken" a given area of the board.

  22. #22
    Quote Originally Posted by Tragic View Post
    I have recently been playing with a new technique. Instead of using actual shadow casters... you can edit the object itself and change the colour. A White colour is default and allows the hue of the custom object and some of the TTS objects to come from the texture map. You can change this as well, like if you have a red token, you can tinkt it red a little stuff like that. BUT you can make it so it changes these tints to a grey colour. Depending on how you build your custom object this can greatly darken the parts.

    I'm in the process of passing off my Mage Knight mod to a much more talented scripter and he came up with this technique. I didn't think of it.

    Here is an example of the old mod and the new one....
    https://screencast-o-matic.com/watch/cqevcd0R8c

    In DEMO 1 the script physically places "shadow objects" in the air. DEMO 2 actually changes the hue of the objects themselves. Note that this means that the tokens stay fully illuminated.
    Nice idea but be careful with this solution. Not all AssetBundle objects (if any) use the Color Tint because their textures/images are embedded in the assetBundle. So while the above solution will work with most static objects it is unlikely to work with anything that is brought in as part of an AssetBundle includes animated characters.

Similar Threads

  1. Cannot import entire model Part 2 Electric Boogaloo
    By Hariku in forum General Discussion
    Replies: 2
    Last Post: 01-30-2016, 01:17 AM
  2. [SOLVED] Cannot import entire model
    By Hariku in forum Technical Support
    Replies: 14
    Last Post: 11-03-2015, 03:43 PM
  3. A couple of ideas
    By Noctropolitan in forum General Discussion
    Replies: 1
    Last Post: 07-04-2015, 11:30 AM
  4. New Table Ideas
    By hottheadliberty in forum General Discussion
    Replies: 0
    Last Post: 04-03-2015, 04:49 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •