Giter VIP home page Giter VIP logo

juce-feedbacks's Introduction

contributions welcome Twitter Follow Discord release openupm

Deprecated, new implementation found here.

Juce-Feedbacks

Welcome to Juce-Feedbacks, the open-source feedbacks library that's part of the Juce Unity tools framework.

Juce-Feedbacks is a solution to provide on-demand game feel to your Unity game, with as little friction or setup as possible.

It's modular, user friendly, and very easy to extend and build upon.



ko-fi

Want to contribute?

Read the Contribution Guide for more information.

Minimum Requirements

  • Unity 2019.3.2

Installing via UnityPackage

Download the latest release.

Installing via Github

Dependences

First of all, you will need to download the following dependences

Download the full repositories, and then place them under the Assets folder of your Unity project.

Project installation

Download this repository, and place it under the Assets folder of your Unity project.

And that's all, with that you should be ready to go!

Usage

Read the Usage Guide for more information.

Upcoming features

juce-feedbacks's People

Contributors

guillemsc avatar guillemsunyer-omnidrone 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

Watchers

 avatar  avatar  avatar

juce-feedbacks's Issues

[Feature Request] Play Feedbacks in Edit Mode

It would be nice to be able to see Feedbacks and UI tweens especially without having to go into play mode and would definitely speed up iteration times for me.

A sub-request here would be a Reset button or logic to set the sequence back to Frame 0 so that your objects could be reset since I believe the restart button currently replays the tween from initial positions.

Spelling Errors in UI

The following spelling errors appear in the UI:

  • RectTransform -> AnchoredPoistion should be AnchoredPosition
  • Image -> Fill Ammount should be Fill Amount
  • Light -> Shadow Strenght should be Shadow Strength
  • LoopMode -> Until Manually Stoped should be Until Manually Stopped

Those are all the ones I've seen, I think.

A Feedback for tweening RectTransform Anchors

Hey again.

So if you want to do resolution independent UI tweening, you need to tween anchors rather than anchored positions or anything else. I wrote an Anchor tweener which takes inputs for the Anchor Min numbers and calculates the Anchor Max based on the RectTransform's values then tweens them.

https://gist.github.com/digiwombat/21ec82fa92c258d2bc572ecb22263e86

There's a gist with it. Feel free to roll it into the repo proper! Sorry for being too lazy to bother doing a pull request. :D

AnchoredPosition and Position Feedbacks Show Wrong Value for Start Position

When using the RectTransform -> AnchoredPosition or Transform -> Position feedbacks, the info line when collapsed shows the start X value for the start Y value when using a starting position. Screenshots attached to illustrate.

Y is set to -360:
2020-12-05_06-45-31

Y is displaying the X value of 20 when collapsed:
2020-12-05_06-45-53

This doesn't affect the End value display. I haven't tested it on others yet.

When I Complete a FeedbacksPlayer, it doesn't go to the end state.

When I Complete the FeedbacksPlayer, it doesn't go to the endstate of all (or any) of the feedbacks.
For example:
When you have a Fade Graphic feedback that sets the image alpha to 0 in 0.2 duration
I would expect that if I complete the FeedbacksPlayer, that the image alpha will be set to 0 instantly

Make Target Settable in FeedbacksPlayerPlayFeedback

Hey! Me again. :D

I have a dynamic state machine transition where I'm basically running a Feedback for hiding one menu and then showing another. Rather than create feedbacks for every possible transition, I was hoping to create generic "HideInventory" and "ShowMap" transitions which play one after another in a feedback player play script. The problem I ran into was that FeedbacksPlayerPlayFeedback.Target is just a lambda to the private FeedbacksPlayerPlayFeedback.target field with no setter.

Obviously, that makes me cry. Haha.

Can we make the target field settable at runtime, either by making it public or switching Target to be a Getter/Setter?

For my local versions, I've turned it to a Getter/Setter since that seemed to be in line with how duration is being set:

public FeedbacksPlayer Target
{
	get => target;
	set => target = value;
}

Let me know if there's any reason this value shouldn't be changed.

FeedbacksPlayer custom component icon missing

Describe the bug
The icon that's supposed to be on the FeedbacksPlayer component is missing

To Reproduce
Steps to reproduce the behavior:

  1. Add a FeedbacksPlayer to any GameObject
  2. Icon is missing

Expected behavior
A custom icon should be shown

Screenshots
image

Desktop (please complete the following information):

  • Editor Version 1.0

When I Complete a FeedbacksPlayer, it doesn't go to the end state.

When I Complete the FeedbacksPlayer, it doesn't go to the endstate of all (or any) of the feedbacks.
For example:
When you have a Fade Graphic feedback that sets the image alpha to 0 in 0.2 duration
I would expect that if I complete the FeedbacksPlayer, that the image alpha will be set to 0 instantly

[Feature Request] Duplicate Feedback

Hey!

I know you already have Copy and Paste as New in the Feedbacks menu, but when I'm doing a lot of "SetActive" stuff or fade in then fade out, it would save me a lot of clicks if I had a menu item for that would allow me to Duplicate the feedback. It's perfectly fine as is, this would just be a nice little quality of life thing.

Thanks again for open sourcing this. It's saving me a ton of time and annoying fiddling with things.

Missing scripts in example content

Describe the bug
I have a development project for testing, analyzing Juce Feedbacks that has the Feedbacks, Tween, and Utils submodules cloned to a Unity project. There appears to be missing scripts on several objects in the example content that may or may not be causing some of the demo content to not work as expected. Most of the Feedbacks specific functionality is working as intended, but I am unsure if there is other missing demo functionality from these other scripts.

To Reproduce
Steps to reproduce the behavior:

  1. Clone the development repository here with submodules (https://github.com/jeffcampbellmakesgames/Juce-Dev).
  2. Open the Unity project contained within.
  3. Open any of the example content scenes in the Feedback submodules
  4. Look at various gameobjects to see if scripts are missing. I see them most often on the MainCamera object, but there are other ones. You may be able to use something like this (https://wiki.unity3d.com/index.php/FindMissingScripts) to find them all programmatically.

Expected behavior
All scripts should be present.

Screenshots
image
image

Desktop (please complete the following information):

  • OS: Windows
  • Unity: 2019.4.11f1

Smartphone (please complete the following information):

  • Not applicable

Additional context
It's possible that there are scripts being used outside of these three submodules or that the scripts that were previously on these objects were deleted or the GUIDs for the scripts are being broken/unassociated some other way.

Contributions and package distribution

Hi there, I enjoyed seeing your library in-action on Reddit and Twitter recently and was wondering what kind of contributions to this library you might be potentially looking for, if any. I have experience with maintaining several of my own open-source libraries for Unity on Github and would love to help!

For example, one topic I'd like to help assist with is creating an openupm package version of this library so that it's easier for users to add to their project. This can help to make resolving dependencies much easier and near-effortless for your users and can make it easier for them to use without needing to know git and/or manage submodules.

Option to Use UnscaledDeltaTime

Hey again.

Amazing I'm just now noticing this, but most of the feedbacks I've checked rely on scaled Time.deltaTime rather than the Time.unscaledDeltaTime.

This isn't ideal since I set my timeScale to 0 when opening UIs and that causes the Feedbacks to freeze in place.

I'd greatly appreciate an Ignore Timescale checkbox on the Juce Feedbacks script so that the tweens will use Time.unscaledDeltaTime and play even when my TimeScale is set to 0.

[Feature Request] A Feedbacks Manager and ID system for calling from code without GameObject references.

While it's simple enough to write one, it would be nice to have an included class for managing and calling Feedbacks from inside my code without needing a reference to the gameobject the script lives on.

Ideally, it would allow for giving the Feedbacks script a string id and then provide either a singleton manager or something similar so you could do something like the following:

  1. Add the FeedbacksManager to the scene.
  2. Make a feedbacks sequence to do something (say show a UI).
  3. Give it an id (e.g. ShowUI)
  4. On awake the feedback adds itself to the manager's list of feedbacks
  5. Call it from code with something like FeedbacksManager.Instance.PlayFeedbacks("ShowUI");

Obviously, it shouldn't require the Manager for people who want to handle their own stuff, but it would be a very convenient way for people to manage a larger number of feedbacks without having to write a manager for themselves.

EDIT: Thanks for the tool, man. It's useful and has some really nice editor design.

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.