Skip to content

Instantly share code, notes, and snippets.

# -*- coding: utf-8 -*-
# Issue: https://github.com/powroupi/blender_mmd_tools/issues/185
# (patch script for model from https://free3d.com/3d-model/female-robot-39128.html)
#
# How to use:
# 1. Open robot.blend
# 2. Open this file in Blender Text Editor, and click [Run Script] to run this script
# 3. Import a VMD file with import option: [Scale] 0.48, enable [Treat Current Pose as Rest Pose]
#! /bin/bash
set -ex
# Requirements
# Ubuntu 20 LTS
# Setup versions
# NVIDIA Driver 450
# Blender 2.83 LTS
import math
def estimate(start_frame, end_frame):
frame_count = end_frame - start_frame + 1
pickup_interval = int(math.ceil(frame_count / 16 / 10.0)) * 10
return [start_frame + pickup_interval * i for i in range(1,16)]
start_frame = 20070 # inclusive
end_frame = 50740 # inclusive
import bpy
import random
random.seed(0)
(start,end,step)=(61,1401,2)
(x,y,z)=(0.294123,0.833412,0.436287)
(fx,fy,fz) = bpy.data.objects['FireLight'].animation_data.action.fcurves
def flickering(f, center):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>iwara thumbnail pickup frames estimation</title>
<script defer src="https://use.fontawesome.com/releases/v5.14.0/js/all.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/bulma.min.css">
<link rel="icon" href="//rawcdn.githack.com/neoascetic/rawgithack/4558441/sushi.png">
# Output results to the system console
from datetime import datetime
import functools
import bpy
prop_name2values = {
'bpy.context.scene.eevee.taa_render_samples' : [32, 1, 16, 64, 128, 512],
'bpy.context.scene.eevee.use_gtao' : [True, False],
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
@UuuNyaa
UuuNyaa / face_normals_correction.py
Last active October 20, 2023 16:46
Face normals correction for toon shader
# Face normals correction
# Usage:
# 1. Select a mesh
# 2. Enter edit mode
# 3. Select face vertices
# 4. Return to object mode
# 5. Run this script
# 6. Return to object mode
# 7. Enter edit mode
# 8. Normals are displayed correctly.
@UuuNyaa
UuuNyaa / babylon_rgb_hsv_converters.ts
Last active June 3, 2022 12:59
RGB/HSV converter shader block for Babylon.js
class RGBtoHSVBlock extends NodeMaterialBlock {
/**
* Creates a new RGBtoHSVBlock
* @param name defines the block name
*/
public constructor(name: string) {
super(name, NodeMaterialBlockTargets.Fragment)
this.registerInput("rgb", NodeMaterialBlockConnectionPointTypes.Color3)
this.registerOutput("hsv", NodeMaterialBlockConnectionPointTypes.Color3)
}
import mathutils
from mathutils import Matrix
import bpy
from typing import List, Dict, Tuple, Optional
target_mesh_objects: List[bpy.types.Object] = [o for o in C.selected_objects if o.type == 'MESH' and not o.hide]
i2vm: Dict[int, Tuple[bpy.types.MeshVertex, bpy.types.Object]] = dict(enumerate((v, m) for m in target_mesh_objects for v in m.data.vertices if v.select))
mesh_object: Optional[bpy.types.Object] = None