Skip to content

Instantly share code, notes, and snippets.

100の人 esperecyan

Block or report user

Report or block esperecyan

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@esperecyan
esperecyan / suppress-auto-lock.ps1.jse
Last active Jan 21, 2020
『suppress-auto-lock.ps1.jse』 指定したプロセスが起動中、画面の自動ロックを抑制します。 使い方: https://pokemori.booth.pm/items/1790917
View suppress-auto-lock.ps1.jse
#@~^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 Jan 17, 2020
『reset-shortcut-icons.js』へフォルダをドラッグ&ドロップすることで、Windowsのショートカットファイル (.lnk) について、アイコンがリンク切れしている、またはアイコンのパスがリンク先と一致するショートカットファイルのアイコンをリセットします。 ※右の「Raw」ボタンからダウンロードすると文字化けを回避できます
View reset-shortcut-icons.js

var FileSystemObject = WSH.CreateObject('Scripting.FileSystemObject');
var Shell = WSH.CreateObject('WScript.Shell');
var folders = [FileSystemObject.GetFolder(WSH.Arguments.Item(0))];
var rootPath = folders[0].Path + '\\';
var paths = [];
for (var folder; folder = folders.shift(); ) {
for (var fs = new Enumerator(folder.SubFolders); !fs.atEnd(); fs.moveNext()) {
folders.push(fs.item());
@esperecyan
esperecyan / VRChatCrossGit.cs
Last active Jan 7, 2020
『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%…
View VRChatCrossGit.cs
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 / VRChatUnsupportedComponentsRemover.cs
Last active Oct 20, 2019
『VRChat Unsupported Components Remover.cs』 VRChatのOculust Quest版のアバターにおいて、使用できないコンポーネントを削除します。 https://twitter.com/esperecyan/status/1185926369441509381
View VRChatUnsupportedComponentsRemover.cs
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEditor;
using VRCSDK2;
using VRCSDK2.Validation;
namespace Esperecyan.Unity.VRChatBlockedComponentsRemover
{
@esperecyan
esperecyan / 履歴のURL置換.js
Last active Jan 11, 2020
Firefox 72以降で動作。7つの定数値を書き替え後、ブラウザーコンソールにコピペして実行。
View 履歴のURL置換.js
(async function () {
const FAVICON_URI = NetUtil.newURI('https://www.pixiv.net/favicon.ico');
const PRINCIPAL = Services.scriptSecurityManager.createContentPrincipal(NetUtil.newURI('https://www.pixiv.net/artworks/'), {});
const OLD_URL_SEARCH_TERMS = 'https://www.pixiv.net/member_illust.php?mode=medium&illust_id=';
const OLD_URL_PATTERN = /^https:\/\/www\.pixiv\.net\/member_illust.php\?mode=medium&illust_id=[0-9]+$/;
const NEW_URL_SEARCH_TERMS = 'https://www.pixiv.net/artworks/';
const NEW_URL_PATTERN = /^https:\/\/www\.pixiv\.net\/artworks\//;
const REPLACE_PATTERN = [/\/member_illust\.php\?mode=medium&illust_id=/, '/artworks/'];
const query = PlacesUtils.history.getNewQuery();
@esperecyan
esperecyan / CreateFrameByFrameAnimation.cs
Last active Dec 4, 2019
■『CreateFrameByFrameAnimation.cs』 VRChatのQuest版における動画再生用のエディタ拡張。テクスチャをHierarchey上のメッシュオブジェクトに設定しておき、そのオブジェクトのコンテクストメニューから生成します。 ■『VCI埋め込み動画再生ライブラリ』バーチャルキャストのアイテム・背景に動画を埋め込めるようにするLuaスクリプト片。 ■『convert-video-to-texture-for-vrchat-quest.ps1.jse』MP4などの動画から、一定間隔ごとにUVを一瞬でズラすことができるシステム向けのテクスチャに変換するスクリプトです。 https://twitter.com/esperecyan/status/115569878…
View CreateFrameByFrameAnimation.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using UnityEditor;
using VRCSDK2;
@esperecyan
esperecyan / CombineMeshesAndSubMeshes.cs
Last active Nov 11, 2019
指定したオブジェクト階下のメッシュを、指定したオブジェクト直下へ結合します。その際、マテリアルが同一であるサブメッシュ (マテリアルスロット) を結合します。「Editor」という名前のフォルダをAssetsフォルダ直下に作成し、その中にこのスクリプトを保存すると、Hierarchey上のオブジェクトのコンテキストメニュー(右クリックメニュー)に次の項目が追加されます: GameObject▸ UnityEditorScripts ▸ CombineMeshesAndSubMeshes.cs
View CombineMeshesAndSubMeshes.cs
using System.Linq;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEditor;
namespace Esperecyan.Unity.CombineMeshesAndSubMeshes
{
/// <summary>
/// 指定したオブジェクト階下のメッシュを、指定したオブジェクト直下へ結合します。その際、マテリアルが同一であるサブメッシュ (マテリアルスロット) を結合します。
@esperecyan
esperecyan / convert-video-to-texture-for-mtoon.ps1.jse
Last active Jul 29, 2019
動画をMToon上で再生できるきゃぱきゃぱ式テクスチャに変換するスクリプトです。 https://twitter.com/mirabetakasi64/status/1148233404019642368
View convert-video-to-texture-for-mtoon.ps1.jse
#@~^AQAAAA==~IAAAAA==^#~@ function toPSString(str) { return "'" + str.replace(/%/g, '"%"').replace(/'/g, "''") + "'"; } /* -*- mode: powershell;-*-
<#*/ var command = 'param($Path, $FrameCount, $VerticalResolution)'
+ '; $_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); /*#>
<#
.SYNOPSIS
@esperecyan
esperecyan / CopyVRMSettings.cs
Last active Jan 21, 2020
『CopyVRMSettings.cs』 Copies the settings of UniVRM components from a set-up VRM prefab to a just normalized VRM prefab. / セットアップ済みのVRMプレハブから、正規化直後のVRMプレハブへ、UniVRMのコンポーネントの設定をコピーします。 UnityPackage: https://pokemori.booth.pm/items/1788660
View CopyVRMSettings.cs
using System;
using System.Linq;
using System.Reflection;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEditor;
using UnityEditorInternal;
using UniGLTF;
You can’t perform that action at this time.