Skip to content

Instantly share code, notes, and snippets.

View nkjzm's full-sized avatar
🐧
Working

Nakaji Kohki nkjzm

🐧
Working
View GitHub Profile
@nkjzm
nkjzm / MathUtils.cs
Last active April 14, 2024 19:48
【Unity】C#で点と扇形の内外判定の実装 (EditModeテスト付き) ref: https://qiita.com/splas_boomerang/items/64539eb20de15a5d2f44
using UnityEngine;
/// <summary>
/// 計算に関するUtilityクラス
/// </summary>
public class MathUtils
{
/// <summary>
/// 点と円の内外判定を行う
/// </summary>
@nkjzm
nkjzm / GvrHandController.cs
Last active July 25, 2018 10:57
Google VR SDKの入力クラスをZenjectで抽象化する ref: https://qiita.com/splas_boomerang/items/06dfeccca506808b1cbf
public class GvrHandController : IHandController
{
Transform controller = null;
public Vector3 Position { get { return (controller ?? (controller = GameObject.FindObjectOfType<GvrTrackedController>().transform)).position; } }
public Quaternion Orientation { get { return GvrControllerInput.Orientation; } }
public Vector3 Gyro { get { return GvrControllerInput.Gyro; } }
public Vector3 Accel { get { return GvrControllerInput.Accel; } }
public bool IsTouching { get { return GvrControllerInput.IsTouching; } }
public bool TouchDown { get { return GvrControllerInput.TouchDown; } }
public bool TouchUp { get { return GvrControllerInput.TouchUp; } }
@nkjzm
nkjzm / CameraController.cs
Created July 7, 2018 06:20
【Unity】VRカメラのポジショントラッキングを無効化する ref: https://qiita.com/splas_boomerang/items/d5cb371a99b0c7e956c2
using UnityEngine;
using System.Collections;
public class CameraController : MonoBehaviour
{
Vector3 basePos = Vector3.zero;
void Start()
{
basePos = transform.position;
@nkjzm
nkjzm / MathUtility.cs
Created June 8, 2018 08:51
~∞ < θ < ∞ な角度θを -180 < θ < 180 に変換するコード
public static class MathUtility
{
public static int Mod(float a, float b)
{
return (int)(a - Mathf.Floor(a / b) * b);
}
// 角度を-180<x<180に変換
public static float FixedAngle(float angle)
{
@nkjzm
nkjzm / ObservableGvrController.cs
Last active October 4, 2017 03:13
Observable wrapper class of GvrControllerInput class.
using UnityEngine;
namespace UniRx.GvrController
{
public static class ObservableGvrController
{
public static IObservable<GvrConnectionState> StateAsObservable()
{
return Observable.EveryUpdate().Select(_ => GvrControllerInput.State).DistinctUntilChanged();
}
@nkjzm
nkjzm / AutoHideScrollRect.cs
Created April 19, 2017 18:16
自動的にスクロールバーが隠れるScrollRect
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections.Generic;
using DG.Tweening;
public class AutoHideScrollRect : ScrollRect
{
public List<Image> bars = new List<Image>();
float beginDuration = 0.5f;
@nkjzm
nkjzm / KeyboardManager.cs
Last active July 27, 2018 00:46
UnityでWindowsデスクトップアプリの仮想キーボードをハンドリングするスクリプト
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityKeyboard;
public class KeyboardManager : MonoBehaviour
{
GameObject currentSelectable;
void Update()
@nkjzm
nkjzm / Keyboard.cs
Last active March 4, 2017 15:38
UnityからWindowsデスクトップアプリの仮想キーボードを呼び出すためのプログラム
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace WindowsTouchScreen
{
public static class Keyboard
{
static int WM_SYSCOMMAND = 0x0112;
static int SC_CLOSE = 0xF060;
using UnityEngine;
public static class DebugTatsuya
{
public static void Tatsuya(this Debug self, int count = 6)
{
string output = "";
for (int i = 0; i < count; ++i)
{
output += "あ\"";
@nkjzm
nkjzm / SofmapDeployer.cs
Last active April 15, 2016 01:02
Unityで子オブジェクトをソフマップ上に配置するスクリプト
// This Script refered to CircleDeployer.cs
// http://kan-kikuchi.hatenablog.com/entry/CircleDeployer
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class SofmapDeployer : MonoBehaviour
{
// 子の大きさ