[Feature Request] Behavior control of arrows passing through receptors
Please Select the game mode your feature request is about.
All Game Modes
Is your feature request related to a problem?
Currently, when a tap passes through a receptor in dance mode due to a miss decision or other reasons, it is painted black This behavior is similar to that of DDR EXTREME and earlier, and is very difficult to see in the case of dense music

Describe the solution you'd like
In DDR SuperNOVA and later, arrows that pass through receptors gradually become transparent Since Project OutFox supports a variety of game modes It would be useful to be able to control this behavior on the note skin side
Since the behavior differs depending on the type of arrow, it is important to consider how much control should be available
Reference video in the case of DDR https://www.youtube.com/watch?v=-MB3i81YUrg
- The BPM doubles at
0:21and0:39, but they appear to be transparent in the same way- I wonder if the transparency is changing by the number of pixels instead of the time after passing through the receptor
- Long notes and shock arrows pass through without becoming transparent
- In the case of Project OutFox, I think Hold, Roll, Mine, and Long mine are equivalent to this
-
1:54Taps at the same position as the beginning of a long note do not become transparent, but pass through without becoming transparent- In Project OutFox, it may be necessary to decide whether to change the behavior by setting "DrawHoldHeadForTapsOnSameRow" or not
Describe alternatives you've considered
I think it would be good to be able to freely control the behavior of filling in black with NoteSkin commands, even if it is not possible to control it so finely
Implementation I imagine
metrics.ini
# Count or Time (Time: seconds/Count: beats)
PassedReceptorEffectType=Count
# 0.5 beats after the arrow passes through the receptor, diffusealpha,0
PassedReceptorEffectTime=0.5
PassedReceptorEffectCommand=diffusealpha,0
I have no sense of naming, so I need you to come up with a good name
Additional context
No response
This is a good idea, we will look into it
Testing out the implementation. I am unsure how the engine could behave with adding a NOTESKIN command on the threshold, so I made a fadeout system instead.
Using Beat timing to fade out
PassedReceptorTransparentNote=1
PassedReceptorBeatsUntilZeroColor=1
PassedReceptorUseTime=0
https://github.com/TeamRizu/OutFox/assets/23246027/57e6ba99-748f-4415-97ba-959691e76f8e
Using Seconds timing to fade out
PassedReceptorTransparentNote=1
PassedReceptorBeatsUntilZeroColor=1
PassedReceptorUseTime=1
https://github.com/TeamRizu/OutFox/assets/23246027/441543e2-a237-4816-92d5-920dc0e86c0c
@JoseVarelaP Thank you, I think it is very good! By the way, if I want to fill it with black as before, is it ok to use assedReceptorTransparentNote=0? I was a little concerned that in Dance mode, either black paint or transparency is fine, but in other game modes, we may see a different pattern In that case, =2,=3, ... and will it be extended? Nevertheless, I think most games will be fine with the behavior you have addressed, and I look forward to seeing the implementation reflected!
@waiei
I was a little concerned that in Dance mode, either black paint or transparency is fine, but in other game modes, we may see a different pattern
So they way I've implemented is dependent on the NoteSkin. So each noteskin can decide for itself if it wants to draw missed notes transparently or opaque.
By the way, if I want to fill it with black as before, is it ok to use
PassedReceptorTransparentNote=0?
Yes, by default it is 0, which is the "fade to black" logic.
In that case, =2,=3, ... and will it be extended?
Not currently, it is just a boolean value.
Okay, I will try different things once the implementation is reflected Thanks!