Skip to content

Instantly share code, notes, and snippets.

@fuqunaga
fuqunaga / GrabColorRendererFeature.cs
Last active November 20, 2023 07:50
GrabColorRendererFeature
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
/// <summary>
/// Built-in Render PipelineのGrabPassに近いRendererFeature
/// RenderObjectsRendererFeatureでGrab対象のオブジェクトを描画し、
/// そのあとにGrabColorRendererFeatureを設定することで任意のタイミングでキャプチャ、
/// 以降のシェーダーでgrabbedTextureNameで指定した名前でキャプチャしたテクスチャを参照できる
///
@fuqunaga
fuqunaga / SceneCameraController.cs
Last active August 23, 2023 06:16 — forked from kaiware007/SceneCameraController.cs
GameViewのカメラを、SceneViewのカメラと同じような操作感で動かせるスクリプト for Unity
using UnityEngine;
[RequireComponent(typeof(Camera))]
public class SceneCameraController : MonoBehaviour
{
public Vector3 targetPoint; // 注視点
public float rotateSpeed = 10;
public float translateSpeed = 1;
public float zoomSpeed = 5;
@fuqunaga
fuqunaga / PingObjectShortcut.cs
Created June 13, 2023 08:24
PingObjectShortcut
using UnityEditor;
using UnityEngine;
public static class PingObjectShortcut
{
private const string MenuPath = "Tools/Ping/";
[MenuItem(MenuPath + "MainCamera #&c")]
private static void PingMainCamera()
{
@fuqunaga
fuqunaga / JsonUtilityEx.cs
Last active June 1, 2023 15:43
JsonUtility exntention. support primitive type, List and Array
using System;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// JsonUtility extension.
/// support primitive type, List and Array
///
/// https://gist.github.com/fuqunaga/b50b49cc08010ba37b07ac01c401a8f0
@fuqunaga
fuqunaga / CalculateObliqueMatrix
Created September 4, 2018 05:22
CalculateObliqueMatrix inplement
// https://forum.unity.com/threads/oblique-near-plane-clipping.194722/
public class Clipper : MonoBehaviour
{
Matrix4x4 projection;
Camera offscreenCam;
void Start ()
{
projection = camera.projectionMatrix;
}
@fuqunaga
fuqunaga / SampleComponent.cs
Last active June 9, 2022 06:52
Comparison of GetComponent() and TryGetComponent()
using UnityEngine;
public class SampleComponent : MonoBehaviour
{
public int value;
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GUIOutSideDraggableSample : MonoBehaviour {
public Vector2 mousePos;
Vector2 boxSize = new Vector2(100f, 100f);
GUIStyle whiteBoxStyle;
@fuqunaga
fuqunaga / SimplestGSBillboard
Created January 7, 2019 10:16
Simplest Geometry Shader Billboard
Shader "Custom/SimplestGSBillboard"
{
Properties
{
_Size ("Size", Float) = 1.0
}
SubShader
{
Tags { "RenderType"="Opaque" }
@fuqunaga
fuqunaga / README.md
Last active May 25, 2020 08:08
Visualize normals of Skinned Mesh Renderer in Unity3D
@fuqunaga
fuqunaga / MeshToMap.cs
Last active December 19, 2019 07:35
vtx to texture
static Texture2D MeshToMap(Mesh mesh)
{
var vertices = mesh.vertices;
var count = vertices.Count();
float r = Mathf.Sqrt(count);
var width = (int)Mathf.Ceil(r);
var height = width;
var positions = vertices.Select(vtx => new Color(vtx.x, vtx.y, vtx.z));