You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi guys, this is just my feedback, not a graded assessment or a real problem.
As a general rule, my Tactful and Well-Considered Advice® is just that: advice.
Neither my opinions nor I have any impact on your grade, so don't worry about it.
Also, it's a fun interactive checklist! Go for it! Check things off!
Get some real fancy ball effects on up in there!
If you add a light and some fancy 3D shimmer to your ball,
you'll know exactly where it is, all day, every day.
You maybe want to put a trail on the ball too, to track your shots.
Get some dust motes up in there!
This may appear to be some silly irrelevant toy, but it's extremely useful.
It's a title shot outdoors in the ballpark, just like everything by keijiro.
You could use it to faintly indicate the wicket's force-fields,
and you should absolutely use it to alert the player to gravity switches.
It has a velocity parameter, change it with gravity for a cool look.
For vacuum, you may have to hack it so it converges, maybe time = -time?
I can't think of anything better to indicate depth than dust motes.
Gotta get that Spaceship HDR Bloom glow happening in here!
Good old Channel Nº 3: PostProcessing, the Space Station essential.
The radius of the bloom effect is proportional to emissive intensity,
so if you want something to really stand out, crank it way up.
Did you know that OnTriggerStay can be run as a coroutine?
I think your physics woes stem from their being reduced to atomic events,
whereas the interaction should be taking place over a span of time.
You could kill two birds with one stone and also apply haptics here, too.
IEnumeratorOnTriggerStay(Colliderother){while(other.attachedRigidbody?.name=="Ball"){yieldreturnnewWaitForFixedUpdate();// apply haptics over time// intensity => 0 as t0+dt => t0+n for n second delay// apply forces to the ball multiplied by fixedDeltaTime// maybe realign ball velocity to mallet forward// play sound or maybe restart or stop sound, play with volume// maybe pitch depends on how orthogonal the mallet is// maybe play a "great hit" sound if they're really lined up}}
Template Strategy Software Design Pattern + AnimationCurves!
I'll cover more about software design soon, but for user testing,
you should set up a bunch of profiles and see what works best.
The animation curves can be serialized in the editor, i.e.,
they can be stored in a ScriptableObject and changed at runtime.
Generalize your physics computation as a function delegate type,
so that you can swap out different algorithms on the fly.
The following is definitely for example purposes only.
// define your delegate typedelegatevoidCroquetPhysicsAlgorithm(Vector3ballPosition,Vector3ballVelocity,Vector3ballAngularVelocity,Vector3malletVelocity,Vector3malletForward,
...AnimationCurveballHitForceResponseCurve,AnimationCurvewhateverElseCurve);
...// map from identifiers to functions to swap in and outDictionary<string,CroquetPhyicsAlgorithm> algorithms =new[]{// fancy C#6 dictionary syntax, enable .NET 4.6 preview!["MyAlgorithm"]=newCroquetPhysicsAlgorithm(MyAlgorithm),["LambdaAlgorithm"]=(bP,bV, ...)=>SomeOtherComputation(2*vB)*mV,
...["LastTry"]=newCroquetPhysicsAlgorithm(LastTryVariationFinal2)};// current function to be called from physicsCroquetPhysicsAlgorithmCurrentAlgorithm=MyDefaultAlgorithm;
...// calling the currently selected function
void OnCollision(Collisiono){CurrentAlgorithm(ball.position,ball.velocity, ...CurrentForceCurve);}
Hi guys, this is just my feedback, not a graded assessment or a real problem.
As a general rule, my Tactful and Well-Considered Advice® is just that: advice.
Neither my opinions nor I have any impact on your grade, so don't worry about it.
Also, it's a fun interactive checklist! Go for it! Check things off!
Get some real fancy ball effects on up in there!
If you add a light and some fancy 3D shimmer to your ball,
you'll know exactly where it is, all day, every day.
You maybe want to put a trail on the ball too, to track your shots.
Get some dust motes up in there!
This may appear to be some silly irrelevant toy, but it's extremely useful.
It's a title shot outdoors in the ballpark, just like everything by keijiro.
You could use it to faintly indicate the wicket's force-fields,
and you should absolutely use it to alert the player to gravity switches.
It has a velocity parameter, change it with gravity for a cool look.
For vacuum, you may have to hack it so it converges, maybe time = -time?
I can't think of anything better to indicate depth than dust motes.
Gotta get that Spaceship HDR Bloom glow happening in here!
Good old Channel Nº 3: PostProcessing, the Space Station essential.
The radius of the bloom effect is proportional to emissive intensity,
so if you want something to really stand out, crank it way up.
Did you know that
OnTriggerStaycan be run as a coroutine?I think your physics woes stem from their being reduced to atomic events,
whereas the interaction should be taking place over a span of time.
You could kill two birds with one stone and also apply haptics here, too.
Template Strategy Software Design Pattern +
AnimationCurves!I'll cover more about software design soon, but for user testing,
you should set up a bunch of profiles and see what works best.
The animation curves can be serialized in the editor, i.e.,
they can be stored in a
ScriptableObjectand changed at runtime.Generalize your physics computation as a function
delegatetype,so that you can swap out different algorithms on the fly.
The following is definitely for example purposes only.