Skip to content

Instantly share code, notes, and snippets.

View esperecyan's full-sized avatar

100の人 (エスパー・イーシア) esperecyan

View GitHub Profile
@esperecyan
esperecyan / phpunit.php
Last active April 19, 2017 06:39
NetBeansの「PHPUnitスクリプト」欄に指定するファイルです。
<?php
/**
* NetBeansの「PHPUnitスクリプト」欄に指定するファイルです。
*
* Windows版のNetBeansでは、名前つきセットを含むテストの再実行が通常できません (PHPUnitプラグイン 0.28 現在) が、
* ファイルメニュー ‣ ツール ‣ オプション ‣ PHP ‣ フレームワークおよびツール ‣ PHPUnit ‣ PHPUnitスクリプト
* に本スクリプトファイルを指定することにより、再実行を可能とします。
*
* @version 1.1.2
* @license BSD-3-Clause

『CombineMeshesAndSubMeshes.cs』は、『VRM Converter for VRChat』へ統合しました。
https://pokemori.booth.pm/items/1025226

『VRM Converter for VRChat』のメイン機能を利用するにはVRChat SDKのインポートが必要ですが、 メッシュの結合だけを行う場合は、VRChat SDKのインポートは不要です。

// Author: 100の人
// Distribution URL: https://gist.github.com/esperecyan/996e0b2af62f4ac6e0a336597836750e
// SPDX-License-Identifier: CC0-1.0
using UnityEditor;
namespace Esperecyan.Unity
{
public class NeverCompressAssetsOnImport
{
[InitializeOnLoadMethod]
@esperecyan
esperecyan / ReplaceToTextMeshPro.cs
Last active January 9, 2021 06:30
『ReplaceToTextMeshPro.cs』VCI用にTextコンポートをTextMeshProコンポーネントへ簡易的に置き換えます。シーン内のオブジェクトを選択してからコンテキストメニューの UnityEditorScripts メニュー内から使用できます。 https://pokemori.booth.pm/items/2662865
using System.Linq;
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.UI;
using UnityEditor;
using TMPro;
namespace Esperecyan.Unity.ReplaceToTextMeshPro
{
/// <summary>
@esperecyan
esperecyan / powershell-template.ps1.jse
Last active January 22, 2021 13:03
ダブルクリックで実行できるPowerShellスクリプトファイルのテンプレート。UTF-8 (BOMなし) で保存してください。MIT License https://opensource.org/licenses/mit-license
#@~^AQAAAA==~IAAAAA==^#~@ function toPSString(str) { return "'" + str.replace(/%/g, '"%"').replace(/'/g, "''") + "'"; } /* -*- mode: powershell;-*-
<#*/ var command = 'param($Test)'
+ '; $_PSCommandPath = ' + toPSString(WSH.ScriptFullName)
+ '; Invoke-Expression (Get-Content ' + toPSString(WSH.ScriptFullName) + ' -Encoding UTF8 -Raw)';
var namePattern = /^-(?!(?:b(?:and|or|xor|not)|sh[lr]|[ic]?(?:eq|ne|gt|ge|lt|le|(?:not)?(?:like|match|contains|in)|replace|split)|join|is(?:not)?|as|and|or|not|f)$)[0-9a-z]+$/i;
var args = ''; for (var i = 0; i < WSH.Arguments.Length; i++) {
var arg = WSH.Arguments(i); args += ' ' + (namePattern.test(arg) ? arg : toPSString(arg)); }
WSH.CreateObject('WScript.Shell').Run('PowerShell -NoExit -Command &{' + command + '}' + args); /*#>
#Requires -Version 5.0
using namespace System.Windows.Forms
@esperecyan
esperecyan / VRChatCrossGit.cs
Last active March 14, 2021 09:38
『VRChatCrossGit.cs』 Sync two local Unity projects using Git. Put this script into “Assets/Editor” folder. / Gitを利用してローカルの2つのUnityプロジェクトを同期します。使い方: https://gitlab.com/vrc-gitcommitter/wiki/-/wikis/%E3%80%90VRChat%E3%80%91%E7%B6%99%E7%B6%9A%E7%9A%84%E3%81%AA%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%…
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.ComponentModel;
using UnityEngine;
using UnityEditor;
@esperecyan
esperecyan / restore-defualt-audio-after-steamvr.ps1.jse
Last active May 5, 2022 00:49
※2020年3月に発生した本不具合はすでに修正されているようです。(2022-05-05 SteamVR 1.21.12で確認) 『restore-defualt-audio-after-steamvr.ps1.jse』 SteamVR終了時に、既定のデバイスを復元します。
#@~^AQAAAA==~IAAAAA==^#~@ function toPSString(str) { return "'" + str.replace(/%/g, '"%"').replace(/'/g, "''") + "'"; } /* -*- mode: powershell;-*-
<#*/ var command = 'param($AudioOutput, $AudioInput, $IntervalSeconds = 10)'
+ '; $_PSCommandPath = ' + toPSString(WSH.ScriptFullName)
+ '; Invoke-Expression (Get-Content ' + toPSString(WSH.ScriptFullName) + ' -Encoding UTF8 -Raw)';
var namePattern = /^-(?!(?:b(?:and|or|xor|not)|sh[lr]|[ic]?(?:eq|ne|gt|ge|lt|le|(?:not)?(?:like|match|contains|in)|replace|split)|join|is(?:not)?|as|and|or|not|f)$)[0-9a-z]+$/i;
var args = ''; for (var i = 0; i < WSH.Arguments.Length; i++) {
var arg = WSH.Arguments(i); args += ' ' + (namePattern.test(arg) ? arg : toPSString(arg)); }
WSH.CreateObject('WScript.Shell').Run('PowerShell -Command &{' + command + '}' + args, 0); /*#>
<#
.SYNOPSIS
@esperecyan
esperecyan / launch-syncroom-vcas.ps1.jse
Last active May 5, 2022 04:46
『launch-syncroom-vcas.ps1.jse』SteamVR起動、SYNCROOM起動、既定のデバイス切り替え、VirtualCast起動を一括して順に行うPowerShellスクリプト。VirtualCast のユーザーコミュニティ「Vキャスカラオケ部」のメタカラ喫茶における利用を想定。 https://twitter.com/masanyu_vr/status/1447145052271099904
#@~^AQAAAA==~IAAAAA==^#~@ function toPSString(str) { return "'" + str.replace(/%/g, '"%"').replace(/'/g, "''") + "'"; } /* -*- mode: powershell;-*-
<#*/ var command = 'param($AudioOutput, $VirtualCastPath)'
+ '; $_PSCommandPath = ' + toPSString(WSH.ScriptFullName)
+ '; Invoke-Expression (Get-Content ' + toPSString(WSH.ScriptFullName) + ' -Encoding UTF8 -Raw)';
var namePattern = /^-(?!(?:b(?:and|or|xor|not)|sh[lr]|[ic]?(?:eq|ne|gt|ge|lt|le|(?:not)?(?:like|match|contains|in)|replace|split)|join|is(?:not)?|as|and|or|not|f)$)[0-9a-z]+$/i;
var args = ''; for (var i = 0; i < WSH.Arguments.Length; i++) {
var arg = WSH.Arguments(i); args += ' ' + (namePattern.test(arg) ? arg : toPSString(arg)); }
WSH.CreateObject('WScript.Shell').Run('PowerShell -Command &{' + command + '}' + args, 0); /*#>
<#
.SYNOPSIS
@esperecyan
esperecyan / FBXMeshFileSizeReducer.cs
Last active May 6, 2022 08:41
『FBXMeshFileSizeReducer.cs』 Unity 2018.3以降でFBXのメッシュが肥大化する問題を抑制するエディタ拡張。 unitypackage: https://pokemori.booth.pm/items/1961154
using System.Linq;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEditor;
namespace Esperecyan.Unity.FBXMeshFileSizeReducer
{
/// <summary>
/// Unity 2018.3以降でFBXのメッシュが肥大化する問題を抑制します。