Skip to content

Instantly share code, notes, and snippets.

@iCyP
iCyP / pronpt.txt
Created July 18, 2023 10:50
vtuber auto open app prompt
以下に、これまでの会話で要求された仕様を箇条書きにします:
チャンネル名とURLを検索するためのテキストボックスを備えたGUIアプリケーションを作成する。
検索結果を表示し、選択したチャンネルを特定の日時に開く機能を提供する。
Google Chromeを使用して選択したチャンネルを開く。これはPythonのsubprocessを使ってChromeを起動することで実現する。
日時入力欄はTkinterのリストボックスを使用し、月、日、時間(時、分)を入力できるようにする。デフォルト値は現在の日時で、分は15分刻みで設定する。
検索はあいまい検索であり、検索クエリがチャンネル名またはURLに含まれる場合に該当のチャンネルを検索結果に表示する。
検索結果から一つのチャンネルを選択できるようにする。
検索結果は検索ごとにリセットする。
日時設定ボタンの左に現在選択しているチャンネルを表示する。
#UNDER MIT LINCENCE @ ICYP 2020
#bone roll must be 0
import csv
import bpy
from math import radians
from mathutils import Vector,Euler,Quaternion
with open("C:\\Users\\hornt\\Downloads\\michicon_motion_20200601_123822.csv",newline="") as byebyecsv:
motionreader = csv.reader(byebyecsv)
names = None
for row in motionreader:
@iCyP
iCyP / aiueo.md
Created December 19, 2019 05:06
en->JIS_JP keybord compalision
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
3 t x q u f j 7 o
e g d a i v n 8 l
4 h r z 1 2 ] 9 .
5 : p w , ^ | ;
6 b c s k - m
@iCyP
iCyP / reset_sculpt_brushes.py
Created November 23, 2019 02:53
reset sculpt brushes
import bpy
for br in bpy.data.brushes:
if br.sculpt_tool != "DRAW" or br.name != "SculptDraw":
bpy.context.tool_settings.sculpt.brush = br
bpy.ops.brush.reset()
import bpy
import math
width = max(1,math.ceil(len(bpy.data.materials)**(1/3) ))
for i in range(width):
for j in range(width):
for n in range(width):
try:
bpy.data.materials[i*width*width+j*width+n].diffuse_color = (i/width,j/width,n/width,1)
except:
@iCyP
iCyP / new_hook_add_shortcut.py
Created February 13, 2019 11:33
new_hook_add_shortcut
import bpy
bl_info = {
"name":"new_hook_add_shortcut",
"author": "iCyP",
"version": (0, 1),
"blender": (2, 80, 0),
"location": "EditMode->Right click",
"description": "add shortcut to hook selected to new empty",
"warning": "",
"support": "TESTING",
@iCyP
iCyP / macro.py
Created February 4, 2019 14:36
all shadeless and rim false
import bpy
for obj in bpy.context.selected_objects:
if obj.type == "MESH":
if obj.material_slots is not None:
for mats in obj.material_slots:
mats.material.use_shadeless = True
if mats.material.texture_slots is not None:
for ts in mats.material.texture_slots:
if ts is None:
continue
@iCyP
iCyP / img_reloader_4_280.py
Last active January 18, 2019 14:53
image all reloader for blender2.80
import bpy
bl_info = {
"name":"Image_reloader",
"author": "iCyP",
"version": (0, 1),
"blender": (2, 80, 0),
"location": "ImageEditor->Tools",
"description": "image reloader",
"warning": "",
"support": "TESTING",
@iCyP
iCyP / node_placer.py
Last active January 11, 2019 13:56
blender_node_placer
import bpy
def node_placer(parent_node):
bottom_pos = [parent_node.location[0]-100-parent_node.width, parent_node.location[1]]
for child_node in [link.from_node for socket in parent_node.inputs for link in socket.links]:
child_node.location = bottom_pos
bottom_pos[1] -= (parent_node.height +100)
for ch_node in [link.from_node for socket in child_node.inputs for link in socket.links]:
node_placer(child_node)
return
node_placer(#output node object here)
@iCyP
iCyP / reload_all_texture.py
Last active January 18, 2019 14:40
for blender2.79
import bpy
bl_info = {
"name":"Image_reloader",
"author": "iCyP",
"version": (0, 1),
"blender": (2, 79, 0),
"location": "ImageEditor->Tools",
"description": "image reloader",
"warning": "",