Skip to content

Instantly share code, notes, and snippets.

View esperecyan's full-sized avatar

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

View GitHub Profile
@esperecyan
esperecyan / SortSerializedUdonPrograms.cs
Last active April 17, 2024 11:14
『SortSerializedUdonPrograms.cs』 VRChat SDK3 -Worlds プロジェクト内のSerializedUdonProgramsをUdonアセットのフォルダへ、UdonSharpの場合はそれらをスクリプトのフォルダへ振り分けるUnityエディタ拡張。Assets/Editorフォルダなどを作成してその中に入れてください。上部メニュー→「VRChat SDK」→「Utilities」→「SerializedUdonPrograms、Udonアセットを振り分ける」から実行できます。
using System.IO;
using UnityEditor;
#if UDONSHARP
using UdonSharp;
#endif
namespace Esperecyan.SortSerializedUdonPrograms
{
/// <summary>
/// SerializedUdonProgramsをUdonアセットのフォルダへ、UdonSharpの場合はそれらをスクリプトのフォルダへ振り分けます。
@esperecyan
esperecyan / README.md
Last active February 10, 2023 01:11
ニコニコ生放送で、2020-07-27のコメントフィルター実装後も残った、連続した数字などをはじくための運営NGワードを回避するための、NiconamaCommentViewer (NCV) 用の書き込み置換ファイル (書き込み置換設定を保存するファイル) です。

ニコニコ生放送で、2020-07-27のコメントフィルター実装後も残った、連続した数字などをはじくの運営NGワードを回避するための、NiconamaCommentViewer (NCV) 用の書き込み置換ファイル (書き込み置換設定を保存するファイル) です。

▚▚▚▚▚ 導入方法

  1. 「SubstList_Writing.xml」をダウンロードします。
    https://gist.githubusercontent.com/esperecyan/c78ea6033d189d0c44a26a0209613fc3/raw/SubstList_Writing.xml
  2. NiconamaCommentViewer を起動し、ファイルメニューから「ファイル」▸「設定ファイル保存フォルダを開く」を選択します。
  3. NiconamaCommentViewer を終了します。
@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
! X/Twitterで2023-10-07頃から発生している、プロフィールページなどの短縮されていない投稿にも「さらに表示」が付加される不具合の回避
twitter.com##[data-testid="tweetText"]:not(:has-text(/([^\n]*\n){10,}|…$/)) + [data-testid="tweet-text-show-more-link"]
twitter.com##div:not(:has([data-testid="icon-verified"])) + div > [data-testid="tweetText"]:not(:has-text(/([^\n]*\n){10,}/)) + [data-testid="tweet-text-show-more-link"]
twitter.com##[data-testid="messageEntry"] [data-testid="tweet-text-show-more-link"]
// 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 / 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 / suppress-auto-lock.ps1.jse
Last active August 6, 2022 01:56
『suppress-auto-lock.ps1.jse』 指定したプロセスが起動中、画面の自動ロックを抑制します。 使い方: https://pokemori.booth.pm/items/1790917
#@~^AQAAAA==~IAAAAA==^#~@ function toPSString(str) { return "'" + str.replace(/%/g, '"%"').replace(/'/g, "''") + "'"; } /* -*- mode: powershell;-*-
<#*/ var command = 'param($Names, $IntervalSeconds = 60)'
+ '; $_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 / reset-shortcut-icons.js
Last active July 14, 2023 08:46
『reset-shortcut-icons.js』へフォルダをドラッグ&ドロップすることで、Windowsのショートカットファイル (.lnk) について、アイコンがリンク切れしている、またはアイコンのパスがリンク先と一致するショートカットファイルのアイコンをリセットします。 ※右の「Raw」ボタンからダウンロードすると文字化けを回避できます
/**
* @file 『reset-shortcut-icons.js』へフォルダをドラッグ&ドロップすることで、Windowsのショートカットファイル (.lnk) について、アイコンがリンク切れしている、またはアイコンのパスがリンク先と一致するショートカットファイルのアイコンをリセットします。
* @version 1.0.1
* @license MPL-2.0
* @author 100の人
* @see {@link https://gist.github.com/esperecyan/a195f0195b0ae7c48c1a066e44dfeef2}
*/
var FileSystemObject = WSH.CreateObject('Scripting.FileSystemObject');
var Shell = WSH.CreateObject('WScript.Shell');
@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;