Open xoxor4d opened 2 months ago
Adding onto Mesh / Material Properties or if another route is thought of
Once we have the ability to talk to meshes not created by API, or if we can manually set a hash
A way to kinda custom AntiCull via saving a meshes hash and force drawing it.
Since the cull is done after a mesh is rendered, the ability to manually set a force draw on that mesh at all times
Its explained more below but tldr would be, I have access to a stable hash, game culls it ,would there be a way to freeze it and force it to draw.
Or possibly in a capture a way to freeze a mesh
WALL OF TEXT FOR PER GAME PROBLEM IM TRYING TO SOLVE AND MAYBE IT WOULD BENEFIT OTHER GAMES
For C&C Renegades:
There is a way to turn off culling but it makes playing unstable and almost unplayable frame rates.
anti culling doest work at all in the game, but all hashes are stable, and the culling is odd, if you walk into a room in back of a church and barely don't look at a wall or roof or floor it will cull and bleed in light, and I can find no stable meshes on any map, so literally if it could remember all manually set meshes it would be an easy fix, I've thought about manually putting on more meshes attached to opposite cull
Ie floor mesh attached to roof, right wall attached to left wall, but that is a stupid amnt of work
Thanks!
REMIX-3419, 3420, and 3421 for tracking each feature separately
What is the context of the feature/improvement?
Extending the feature set of the remix api.
While the current api already allows for a lot more freedom and interaction with the runtime, it's fundamental scope is to directly interact with the remix renderer without relying on the d3d pipeline and thus, it's lacking a few features for projects that are either not open source or just need simpler methods (game script methods in a way).
Please describe the feature/improvement?
Remix Config Variables:
It's already possible to animate remix variables to create event triggered effects or transitions (eg. tonemap color tint) or settings that are applied per map but resetting or transitioning back to the original-saved value is not as straight forward as it's currently not possible to retrieve the value/s of a remix variable so:
GetConfigVariable
would be a nice addition.ResetConfigVariable
would be a nice addition.As a workaround (and for context):
I'm currently using logic that parses the
rtx.conf
on game startup and places the remix variables into an unordered_map that holds information about thereset value
(the initial conf value), thecurrent
value and the variabletype
. If I now want to change a remix variable via the api, I'm updating thecurrent
value in the unordered_map and then send it to the runtime viaSetConfigVariable
after crafting the value string. This then allows me to transition back to the original value as long as I properly keep track of the variable.It's up for debate if something like this could be included in the api header (maybe a second header specifically for helper functions) or if that is a community task via "extensions".
🟠 As a side note: It would be really nice if remix variables of type
float
could be displayed as such in thertx.conf
. Meaning adding.f
to the value even if it's saved state does not contain any decimals. I'm currently having to interpret everything asfloat
as there is no way to differentiate between integers and floats.Mesh / Material Properties
Tweaking mesh / material properties of objects that are not created via the api, meaning objects that the runtime intercepts via the D3D api (if fundamentally possible) would be a nice addition. It would be great if that would also work for objects that already have replacements (via an usd mod layer). Some ideas in that regard:
Tweaking specific properties:
User specifies the object hash and the property to change. Function returns the previous value of the property so that the user can restore the property when needed.
If the above is possible:
A method to restore all changed object properties back to their default values at once
Hide / Show USD Layers
I think it would be a really great addition if there was an api method to hide or show usd layers given that they are already part of the mod.usda in either a visible or hidden state. This would come in handy in multiple ways. A user could make specific overrides to certain meshes or materials that can be toggled eg. when a specific event is triggered or when the map changes.
Usage examples:
It's more or less the same as tweaking individual mesh / material properties but in a more general way and involves toolkit usage which would make it a "best of both worlds" feature 🙂
What would be your solution? (optional)
No response
Version
latest
Media
I've posted a video in the showcase channel on the remix showcase discord with remix variable transitions: https://discord.com/channels/1028444667789967381/1028600697463263314/1269343492199420009