Skip to content

Instantly share code, notes, and snippets.

@emilianavt
emilianavt / IKRunner.cs
Last active Mar 11, 2021
This component uses the UnityEngine.LowLevel API to run Final IK things before Unity constraints and particle systems are evaluated.
View IKRunner.cs
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.LowLevel;
using RootMotion.FinalIK;
// Disable IK and TwistRelaxers and set them on this to have them run before constraints and particle systems are evaluated.
// Only one instance of IKRunner is possible, but it should be easy enough to extend.
// Remember to call Start() on the TwistRelaxers once if they are disabled from the beginning. The IK may also need manual initialization.
@emilianavt
emilianavt / VTuberSoftware.md
Last active Sep 18, 2021
A list of common vtuber software
View VTuberSoftware.md

VTuber software

This is a list of the most relevant vtubing software. The information is as accurate as I could figure it out, but there might be errors or some details might change. If you find anything that needs to be corrected, please let me know.

Additional explanations:

  • iPhone means that an iPhone is basically required
  • iFacialMocap support means that tracking data can be received from the iFacialMocap iPhone app
  • VMC protocol means that the application can send and/or receive tracking data from other VMC protocol capable applications, allowing the combination of multiple tracking methods (e.g. VSeeFace receiving VR tracking from Virtual Motion Capture and iPhone/ARKit face tracking from Waidayo)
  • Tobii means that the Tobii eye tracker is supported
View VSeeFace release notes.md

For downloads and more information about VSeeFace, please check out the website.

Version 1.13.36m:

  • Removed the requirement for all 52 ARKit blendshapes to be present to apply any of them at all with iFacialMocap tracking
  • Changed the Depth of Field shader to make the whole image opaque
  • Fixed a bug where smiling could make the model freeze
  • Updated simplified Chinese translation
  • Improved networking code

Version 1.13.36l:

@emilianavt
emilianavt / VirtualKeyNames.cs
Created Jun 30, 2020
A reliable mapping of virtual key codes to human readable names
View VirtualKeyNames.cs
private Dictionary<int, string> keyNames = new Dictionary<int, string>() {
{0x8, "Backspace"},
{0x9, "Tab"},
{0xd, "Return"},
{0x13, "Pause"},
{0x20, "Space"},
{0x21, "PgUp"},
{0x22, "PgDown"},
{0x23, "End"},
{0x24, "Home"},
View FinalIKOrionLeapHandController.cs
/**
FinalIKを使ったLeapMotion Orion用HandController
(VRIKバージョン)
Author: MiyuMiyu (https://twitter.com/miyumiyuna5)
Source: https://qiita.com/miyumiyu/items/72b965df46a79f3ec523
Modified by: Emiliana (https://twitter.com/Emiliana_vt)
Modifications: Updated for current SDK version, supports hand position reset on tracking loss, hand mirroring and interpolation.
*/
/*
View TrackerLerp.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TrackerLerp : MonoBehaviour {
public Transform target;
public float targetFPS = 90.0f;
public float influence = 0.985f;
void LateUpdate () {
View CameraSnap.cs
using System.IO;
using UnityEngine;
// Attach this to a camera and position it. You can use "Align With View" from the "Game Object" menu to help with this.
// Check the snap box to take a picture. It will log the path to the console.
// It works in Editor mode too, no need to play the scene.
[ExecuteInEditMode]
public class CameraSnap : MonoBehaviour {
public int resolutionX = 2048;
View PositionMapper.shader
Shader "PositionMapper" {
Properties {
_MainTex ("Texture", 2D) = "white" {}
_FactorX ("Object width scale factor (X)", Float) = 1.0
_FactorY ("Object height scale factor (Y)", Float) = 1.0
_FactorZ ("Object depth scale factor (Z)", Float) = 1.0
}
SubShader {
ColorMask RGBA
Pass
View ReassignBoneWeigthsToNewMesh.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[ExecuteInEditMode]
public class ReassignBoneWeigthsToNewMesh : MonoBehaviour {
public Transform newArmature;
public string rootBoneName = "Hips";
public bool resetPose = false;
public bool PressToReassign;
@emilianavt
emilianavt / VRM.md
Last active Sep 17, 2021
Converting an avatar to VRM format
View VRM.md

Converting an avatar to VRM format

In this guide, I assume you already know the basics of Unity and probably have previously uploaded an avatar to VRChat. If you haven't, you can still try to follow along, but some descriptions might be a bit too brief.

A more in-depth guide with screenshots can be found here.


Setup