Skip to content

Instantly share code, notes, and snippets.

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 VSeeFace release notes.md

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

Version 1.13.36n:

  • Added VTube Studio iPhone app integration (thanks to @DenchiSoft!)
  • Fixed an issue with gaze direction being mirrored when using iFacialMocap with non-mirrored motion
  • Fixed the "Gaze strength" slider not affecting blendshape based eyes
  • Made the gaze strength setting for iFacialMocap separate from the regular gaze strength setting.
  • Fixed camera mouth tracking being applied on top of iFacialMocap tracking
  • Improved network reception code
  • Updated to Unity 2019.4.31f1 (applies to the SDK as well)
@emilianavt
emilianavt / VTuberSoftware.md
Last active Oct 14, 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
@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

@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.
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 / 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 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