public static void CreateExampleScript() { string path = Path.Combine(UnityGame.UserDataPath, Plugin.Name, "Scripts"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string defaultScript = Path.Combine(path, "ExampleMovementScript.json"); if (!File.Exists(defaultScript)) { File.WriteAllBytes(defaultScript, Utils.GetResource(Assembly.GetExecutingAssembly(), "CameraPlus.Resources.ExampleMovementScript.json")); } }
private SaberSalient() { if (SaberSalientNative.Init(out native) != 0) { native = IntPtr.Zero; throw new ExternalException("Could not init native saber-saliend.dll"); } mvpTransformRaw = new float[16]; mvpTransform = Matrix4x4.identity; positionRaw = new float[3]; rotationRaw = new float[9]; mvTransform = Matrix4x4.identity; pTransform = Matrix4x4.zero; if (SaberSalientNative.GetCameraIntrinsics(native, Camera) != 0) { throw new ExternalException("Could not get camera intrinsics in native saber-saliend.dll"); } Logger.Log("Initialized SaberSalient camera: " + Camera.width + " " + Camera.height); float near = 0.1f; float far = 10.0f; pTransform.m00 = 2 * Camera.fx / Camera.width; pTransform.m11 = 2 * Camera.fy / Camera.height; pTransform.m22 = -(far + near) / (far - near); pTransform.m32 = -1; pTransform.m23 = 2 * far * near / (near - far); CurrentColorTex = new Texture2D(Camera.width, Camera.height, TextureFormat.ARGB32, false, false); CurrentDepthTex = new Texture2D(Camera.width, Camera.height, TextureFormat.RFloat, false, true); bufferSize = Camera.width * Camera.height * 4; ab = AssetBundle.LoadFromMemory(Utils.GetResource(System.Reflection.Assembly.GetExecutingAssembly(), "CameraPlus.Resources.sabersalient")); // AssetBundle.LoadFromFile("G:\\prorgamming\\CameraPlus\\CameraPlus\\Resources\\sabersalient"); if (ab == null) { throw new NullReferenceException("SaberSalientOverlayed - No AssetBundle!"); } }