Advanced Search
Search Results
368 total results found
Guide
Why? AVPro is the only video player that supports live streams, but it does not and will not support audio filters per this VRChat Canny. For live-music venues and worlds, who by nature typically care about audio, this is a problem because being able to apply...
Cross-Avatar Interactions with Avatar Dynamics
VRChat #AvatarDynamics enables Avatar-to-Avatar Interactions.Have you tried the spray can in the Avatar Dynamics Hub world?This is a Contact Receiver. It reacts to a Contact Sender from @Yash884's avatar lighter!VRCContactReceiver / VRCContactSender: https:/...
Always Reconfigure Your Rig
If you make any changes to your rig, move a bone a little. Delete a bone, rename a bone. Reconfigure your rig in Unity. Not doing so can create a myriad of problems, such as bones becoming long and contorted, or turning in odd ways. Go to your model file, ...
Texture Painting External Projections
In Blender, there's this pretty nifty feature that I quite literally learned about 10 minutes ago before writing this. In Texture Paint mode, under the Tools tab, at the bottom under Options, there's an "External" tab with a few options. This right here will ...
Prerequisites & Disclaimers
I expect you to know how to use the Unity Editor and to know a little bit about vector math and geometry in general.I wont go into too much detail for things that can be found in the Unity manual, but I will link to them when appropiate.
What is a Transform?
A transform is a component that is attached to a GameObject. In fact transforms are the only type of components that are always found on a GameObject, as every GameObject must have a transform and automatically comes with one when created. This may make you w...
How do you do maths with a Transform?
For doing maths with transforms there are three primarily interesting things stored in a transform that we can manipulate: Position, Rotation and Scale. The position is basically just a 3-dimensional vector we can manipulate. Therefore we can use it to do vec...
Position Constraints
Position Constraints are Unity built-in Components that will copy the world-space position of a single target, or blend between multiple positions when given multiple targets. They are a primary tool to manipulate Transforms, hence why I will briefly explain t...
World Space vs Local Space
As a lot of people have already explained this concept I will just refer to this post for brevity: https://medium.com/nerd-for-tech/local-space-vs-world-space-in-unity-6a9944470478
Multiplying a Vector by a Scalar
To multiply a vector by a scalar we can use the fact that when a position constraint is given a single target, the source weight wont be normalized. This means we can simply use a position constraint, with a single target (which contains the vector as its pos...
Inverting a Vector
This can be done with the same method as Multiplying a Vector by a Scalar by simply using -1 as the scalar.
Adding two Vectors
To add two vectors we have to get a little creative. I wont explain why this trick works mathematically, but to add two numbers, we can average them and then multiply that by two. Since PositionConstraints can blend i.e. average between two transforms i.e. ve...
Subtracting two Vectors
To subtract two vectors you can use the same method as Adding two Vectors but inverting either vector first by inverting it first. Which one you have to invert, depends on whether you want to: Subtract B from A (A - B) => Invert B or Subtract A from B (B...
Normalizing a Vector
To normalize a vector we can use the LookAtConstraint. Make it look at the vector i.e. transform that you want to normalize. Give it a child with an offset of +1 on the Z-Axis. You have now normalized a vector. Hierarchy: As previously menti...
What about dividing a vector by a scalar?
Unfortunately I currently do not know of any method to find the multiplicative inverse of an arbitrary number. If you want to divide a vector by a constant scalar however, you can simply just use the same method as Multiplying a Vector by a Scalar and use the...
Projecting a Vector (in World-Space)
To project a vector in world-space, you can simply use a position constraint, and only have one (to project the vector onto an basis axis) or two (to project the vector onto a basis plane) of the "Freeze Position Axes" toggles turned on.
Never Stop Learning
So you’ve finished, now what? The first thing I would recommend is to start using version control on your important projects, which is like keeping backups that you can revert to in case something breaks. There is a tutorial here about how to setup a local ...
UdonSharp Nitpicks
I hope you enjoy reading this - but keep in mind that this isn't quite finished ✌️ Here's some things which I consider good practice when writing U# code, in no particular order. These suggestions are somewhat personal, so please let me know what you think in ...