Giter VIP home page Giter VIP logo

ltcgi's People

Contributors

float3 avatar fundale avatar galister avatar hyblocker avatar jlchntoz avatar kaelanduck avatar kitkat4191 avatar pimaker avatar scruffyrules avatar shiyouganai avatar techanon avatar z3y avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ltcgi's Issues

Cache and allow access of global state in LTCGI_UdonAdaptor

In order to display feedback for options panels controlling the enabled state of LTCGI, I've had to modify the UdonAdaptor to cache the enabled state and provide a getter for it.

Here's what I've done:

    private bool isGlobalStateEnabled = true;
    public bool GlobalStateEnabled
    {
        get => isGlobalStateEnabled;
    }
    public void _SetGlobalState(bool enabled)
    {
        float fstate = enabled ? 1.0f : 0.0f;
        GlobalShader.SetGlobalFloat(GlobalShader.PropertyToID("_Udon_LTCGI_GlobalEnable"), fstate);
        isGlobalStateEnabled = enabled;
    }

Super super simple, but helps a lot. If there's a better or different way to access this value I missed, let me know.
Thanks!

Popup message bug

image
Dragging the ltcgi prefab into the scene creates a popup message you cant close and it freezes the unity editor. After adding U# into the project the popup still kept appearing, the UDONSHARP define got added but the code from ltcgi didnt recompile with it. It worked only after removing and adding back the ltcgi package. It also kept appearing 2 times after, when switching the build platform, that but i was able to close it and it worked

Not sure if there is a fix for that as its probably a unity bug (what might work is a custom define set on the assembly definition), but at least a fix for the popup message would be nice.

No UdonSharpBehaviour class found in script file

I am trying to use the USharpVideoAdapter, but the script has this error. Tried to diagnose but I can not figure out how to solve it.

Double checked UdonSharp, USharpVideo, and the VRCSDK.

Assets/_pi_/_LTCGI/Adapters/LTCGI_USharpVideoAdapter.cs(63,6): System.Exception: No UdonSharpBehaviour class found in script file, you must define an UdonSharpBehaviour class in a script referenced by an UdonSharpProgramAsse

image

3rd Area Light Shape (Dome/Half Sphere)

So I know this is going to be an weird and very specific request, however I'm currently working on a fulldome/domemaster project and I would love to include this if I can get it functioning right. I've attached a test video below as to what I am doing to help explain this very specific use case I have. I've tinkered around with the cylinder method and got a result but nothing close to what I was hoping to figure out, thus the request for a sphere/halfsphere/dome shape (if at all possible). No harm if it isn't something that can be done with relative ease and is a declined request, just thought I would ask!

Using version 1.3.2 w/ ProTV as the VideoPlayer.

e9f7f914648292b27c09ba1e3cee9224.mp4

Due missing Play mode, SDK 3.3.0 seems don't generate LTCGI effect.

After many tries in new SDK 3.3.0 where Play mode is not more needed, LTCGI seems not work anymore, no visible effect, because script generate also in runtime for build & upload.

Maybe i miss something, but last tests showed no more effect on walls.
Can you take a look at it?

(Custom VR Game, Unity 2021.3.23f1) LTCGI_RuntimeAdapter class not found OR mismatch

LTCGI_RuntimeAdapter class not found OR mismatch

According to the file <UNITY_PROJECT>/Library/PackageCache/at.pimaker.ltcgi@14b23485f4/Runtime/LTCGI_UdonAdapter.cs, there is already statement from line 16:

#if UDONSHARP
[UdonBehaviourSyncMode(BehaviourSyncMode.None)]
public class LTCGI_UdonAdapter : UdonSharpBehaviour
#else
// FIXME: This makes the filename mismatch the class name
// - I think Unity doesn't like that?
public class LTCGI_RuntimeAdapter : MonoBehaviour
#endif

Yes, Unity 2021.3.23f1 does not like that.

Screenshots

script not assigned properly
out of prefab script said not found
image

The UdonAdapter class indeed transformed into regular Runtime Adapter class. However, due to some nature of C# (perhaps?), the filename must match with its class name.

Therefore currently it only works (maybe?) for VRChat & perhaps not standalone nor any other VR games, since the file name of the adapters combined to or propagated for is LTCGI_UdonAdapter.cs, while the converted to regular class name is LTCGI_RuntimeAdapter : MonoBehaviour (different than filename).

Workaround

Possible workaround & patch?:

Separate those adapters to each respective filename

  • Transplant. Copy whole Udon Adapter class into a new file LTCGI_RuntimeAdapter.cs next by UdonAdapter file.
  • Scrub. scrub both these file so the Udon ones only activates if there is UdonSharp installed per #if UDONSHARP. And the regular runtime ones only activates if there is no UdonSharp per #if !UDONSHARP.
  • This should make class query work since now the class names matches with their filename.

Or maybe, keep UdonAdapter name, while when Udon is not installed it acts as regular Runtime Adapter?

Unity 2022 Not working as intended?

So after VRChat updated to 2022, I tried to upload my world and LTCGI is not working anymore. I think it could have something to do with the lack of play mode during build. So it's more a SDK 3.3.0 problem, than 2022, but because 3.3.0 is old already, I will report as a 2022 problem.

What's the issue: LTCGI doesn't affect third-party shaders (orels, Mochie and Fillament tested) unless there's a single LTCGI_Screen set as dynamic

Video Player: VideoTXL, but it's not only video texture being affected, static textures too and emitters.

There's a workaround, if you have a single dynamic screen all the other ones even if it's set to static start working again. But only on editor.
Avatar lighting still work (dynamic disables it?). So I don't know what's the culprit for it, or if it's a issue caused by my own Unity setup.

LTCGI with out udon

I would like to request a version of ltcgi that could possibly work in a standalone form with out the udon side of it or use on other platforms that lack it. Possibly a sdk2 port or just something that works in any unity project.

Maybe this needs an update pass for 2022?

I've run into issues trying to install this to a 2022 project, I'll give you a rundown of what the issues are but I think the TL;DR is going to be to just ask you to install LTCGI to a fresh 2022 project and fix the issues that arise.

The following occurred in a completely fresh project made with the VRCCC.
LTCGI 1.4.1 was installed via the VRCCC method.

1.) First, this dialogue, which I'll press "Confirm" on.
image

2.) Next, upon attempting to open the new project, this warning dialogue from Unity. I am going to click "Yes, for these and other files that may be found later" because otherwise it pops up every time the project is opened. Note that the next few issues arise even if you click "No" anyway.
image

3.) When trying to drag the LTCGI Controller prefab into the scene (VRCDefaultWorldScene), shader compile errors are thrown and then these shaders are thrown into the "Failed to Compile" list category in Unity when selecting shaders on a material.
image
image

4.) I thought "okay, so LTCGI shaders are borked, fine, I'll just use something else" and imported Orel's shaders.
However I then found that while in this state the LTCGI variant of Orel's shader also fails to compile...
image

5.) Okay, so now I knew this is an issue that needs addressed if I want LTCGI to work.

Now I'm no programmer, but upon inspection it appears that in the file it's complaining about, "LTCGI_config.cginc", there's a line that says "not-available".
image

This text just looked out of place to me, and as if it's a placeholder text that Unity substituted in upon reaching an error. So I looked into the repository for the original code and, sure enough, this is what's supposed to be there.
image

So I first tried just changing the "not-available" text to that URL, but Unity would keep changing it back to "not-available" automatically. Clearly it was unhappy with the absence of something, and that something was probably AudioLink.

So I tried installing AudioLink and, sure enough, the issues went away. So the only solution was to actually install AudioLink to the project. If you do that, that line in the LTCGI_config.cginc will change to the AudioLink URL on its own and the shaders will succeed to compile. Removing AudioLink will cause the shader compile errors to resurface.


As far as I'm aware, AudioLink isn't intended to be a dependency for LTCGI.
If it is, well I couldn't find anything in the repo or documentation to suggest that.
So if this isn't intended behavior, definitely look into doing an update pass for LTCGI.

I figured these may just be issues that arose with the 2022 upgrade that just haven't been addressed yet.

There may be other bugs that I just haven't found, I don't know what everything is supposed to look and behave like so I have no frame of reference for just visually telling whether anything is wrong or not. So definitely poke around and make sure it's working as intended in 2022.

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.