アヤチノオト

覚書のこと

MMDモデルの視線を自然な感じに見せる(視線IKを使わない方法)

タイトルの通り、MMDモデルを手軽にカメラ目線(ぽく)見せるためのTipsです。 対象読者 BlenderでMMDモデルを作っている。 眼球ではなく瞳だけ浮いているタイプの目の作り方をしている。 効果 この動画の左がこれから書く方法で目を調整したもの。アリアン…

YesodのfileAFormReqでinput要素にrequired属性ついてない

わりとタイトルのまんまです。 uploadForm = renderDivs $ fileAFormReq "file" と書いて生成されるhtmlが <div class="required "> <label for="hident2">file</label> <input id="hident2" type="file" name="f1"> </div> <input type="submit" value="Upload"> これは困った! areqを使いましょう。 uploadForm = renderDivs $ areq file…

とうらぶえくすてんしょんから通知されるイベントで独自の内容を喋らせる

この記事はゴーストを制作している人向けです。 刀剣乱舞の遠征通知とかをゴーストに喋らせる何かを作りました。 導入方法はこっちを見てください 刀剣乱舞の遠征通知を伺かのゴーストに喋らせる - アヤチノオト 刀剣乱舞の遠征通知を伺かのゴーストに喋らせ…

刀剣乱舞の遠征通知を伺かのゴーストに喋らせる

何が出来るものなのか 刀剣乱舞の遠征とか内番の通知をデスクトップマスコットに喋らせることができます。 必要なもの 必要な物は3つありますがインストールはどれも簡単です。 それぞれの項目については下で説明します。 SSP(デスクトップマスコットの動…

DMMのブラウザゲーを間違って閉じちゃうのを防ぐプラグイン作った

概要 誤操作でゲーム中にリンクをクリックしちゃったりタブを閉じちゃったりウィンドウを閉じちゃったりリロードしちゃったりしたときに確認のダイアログを出すChromeのプラグインです。 こんな感じのダイアログが出ます。ゲームのページから離れたくないと…

これは動的な弱い型けなのではと思ったけどそうでもないのか

すごいErlangゆかいに学ぼう!を読んでいるのですが、12章にでてくるregisterという関数の動作がちょっと気になったのでした。 registerは第一引数にatom、第二引数にpidをとってpidをatomで参照出来るようにする関数です。 しかし、すでに存在する関数名をr…

すごいE本読んでる記録

すごいE本ことすごいErlangゆかいに学ぼう!を読んでいます。 タイトルからわかるとおり、すごいHaskellたのしく学ぼう!の読みやすく、それでいて深い内容のスタイルを真似て書かれています。 すごいH本とおなじ問題がすごいE本にも出ていて、その中の逆ポー…

里々がなんで遅いのかやっぱりよくわからんという記事

このまえ記事で無料のプロファイラ使って調べたんだけどよくわかんなかったのでVisual Studio Ultimate 2013買いました。 嘘です。試用期間あるみたいだからインストールして分析機能を使ってみたよ。 実験方法~ ミニゲームてんこもりな某ゴーストの辞書をl…

里々はなんで重いのかわかったような気がしなくもなくも

注意書き 僕なりに頑張って調べたつもりですがこの記事の内容は全くもって間違っている可能性があります。 やっぱり間違ってました。新しい記事をこっちに書きました 概要 整備班でダウンロードできる里々Mc151-8のパフォーマンスを解析してみた。 使ったも…

里々をビルドしてみたのことのメモ

ソースを取ってくる 里々のリポジトリ整備班 -The Maintenance Shop- svnのインストールはChocolateyがあるとコマンド一発でいけて便利。 Visual Studioをインストールする 最新のVisual Studio Express 2013 for Windows Desktopを使う。 里々のプロジェク…

チケットゴブル問題に挑戦したけど評価3だった

ダブリのいちばん多いチケットを取り除き、ダブリがなくなるまで繰り返す。 module Main where import Control.Applicative ((<$>), (<*>)) import Data.List ((\\)) import System.Environment (getArgs) import Debug.Trace type Date = Integer type Tick…

D言語でモナドインタフェースとMaybeモナド

maybe.d module maybe; import std.conv; import std.stdio; void main() { // モナド則を満たしているかのチェック Maybe!int m = Just(10); // Left identity // return a >>= f == f a write("Monad laws 1: "); writeln(Maybe!int.Return(10).Bind(x => …

D言語でMaybeモナドのようなもの

インターフェイスを使ってMonadを作りたかったんだけどそれはやり方がよく分からなかった。 import std.conv; import std.stdio; void main() { auto a0 = Maybe!(int).just(8); // Maybe Int writeln(a0); // Just 8 auto a1 = a0.bind(&plus); // Maybe In…

CodeIQのナムドット問題解きました

評価1(最低評価)だったよ! 解説見ながらHaskellで書いてみました。 module Main where import Data.List partitionOfSet :: Eq a => [a] -> [[[a]]] partitionOfSet [] = [] partitionOfSet xs = partSet xs [] [] where partSet [] ys zs = ys:zs partS…

PySideでメインウィンドウをアニメーションしながらリサイズ

タイトルのとおりです。 ボタンを押すとスライドバーで指定したサイズにメインウィンドウをリサイズします。 アニメーションしながらね。 確認してませんがimport文を変えればPyQtでも動くと思います。 import sys from PySide import QtGui, QtCore from Py…

HaskellでJSON

インストール HackageDB JSON cabal update cabal install json 使いかた import Text.JSON -- JSONから数値を取ってきて成功したら20倍する main :: IO () main = print $ ok 0 (*20) getVal jsonString :: String jsonString = "[{\"hoge\": 2}]" ok :: …

ウェブ小説でも里々の(ユーザ)みたいなのが使えるテンプレート

前説 このテンプレートにはMVCフレームワークAngularJSを使用しています。 できること 小説のなかで登場人物の名前などをフォームに入力された文字に置き換える 背景と文字色を変える 文字サイズを変える 動作例 対象読者 小説の中に読む人を登場させたい!…

gitのhookを使ってコミットする前にpythonのunittestを走らせる

タイトルの通り、gitのフックを使ってコミットするたびにpythonのunittestを走らせます。 他の言語でもだいたいおなじ手順でできると思います。 準備 まず。自分のプロジェクトの.git/hooksフォルダにpre-commitというファイルを作って実行権限を付加。 my_p…

windows7 でcabalでinstallでlexical error (UTF-8 decoding error)て言われた時の対処法

cmd.exeを起動して以下のコマンドを入力する(PowerShellだとうまくいかない!!) set LANG=C cabal install hoge

Pythonでlistのように振る舞うclassを書く

import collections class MyList(collections.MutableSequence): def __init__(self, args): self.list = list() self.extend(list(args)) def __len__(self): return len(self.list) def __getitem__(self, key): return self.list[key] def __delitem__(s…

フィボナッチ数列を鳴らしてみた

タイトルの通り。HaskellのHaskoreを使って、フィボナッチ数列の各項を15で割った余りをそれぞれド~ドまでの2オクターブの音に割り当てて鳴らしてみました。 フィボナッチ数列の音(Cメジャースケール)以下、自分でやってみたい人のための補足情報。 Haske…

MopのMapをTiled Map Editorでこちょこちょっと作るのやりかた。

マップの背景画像を作る 縦も横も16の倍数になる大きさで作ります。 とりあえずこれ使ってください。 Tiled Map Editorの設定 Tiled Map Editorをダウンロードしてインストールして起動する。 メニューの編集->設定をクリックしてレイヤーの保持方法をCSVに…

QTabWidgetのタブの所にツールチップを設定する

qtab = QTabWidget() qtab.addTab(obj, 'name') qtab.tabBar().setTabToolTip(0, 'tool tip')

QSettingsでツールバーの状態とウィンドウの位置&サイズを保存したり読み込んだり

from PySide.QtGui import QMainWindow, QApplication, QPushButton, QToolBar from PySide.QtCore import QSettings class MainWin(QMainWindow): def __init__(self): super(MainWin, self).__init__() writeSettingsButton = QPushButton('save state') w…

EclipseのPyDevでPyQt4とかPySideのモジュールを自動補完

こんなコードを打つと赤い波線が出て補完も効かないときの対処法。 from PyQt4.QtGui import QApplication |< EclipseのメニューからWindow→Preferences 左メニューからPyDev→Interpreter - Python 右画面のForced Builtinsタブ→New...をクリックしてダイア…

すごいHaskell楽しく学ぼう!

7章9節まで読んだ。 型コンスタラクタと値コンストラクタの違いをしっかり覚えることがポイントなんだそうな。 例えば二次元座標を表すPoint型をつくる。 data Point = Pointxy Float Float この場合Pointが型コンストラクタ。Pointxyが値コンストラクタ。…

里々エディタ2進捗

PySideを使って里々用のエディタを作ってる。 里々以外の辞書モードも付ける予定。 シンタックスハイライトの機能はだいたい実装できた。 実行時にエラーになるような所を赤色で表示したり、 変数の削除を打ち消し線で表示したりする。こういうのが見た目で…

クックパッドのレシピの分量を再計算するブックマークレット

タイトル通りのものを作りました。 x人分のレシピをy人分に変換するみたいな感じです。 下のリンクをブックマークに追加してクックパッドのレシピのページでクリックすると使えます。 ;for(i=_i=0,_ref=$('.ingredient_name').length;0_ref;i=0;for(_j=0,_…

npm install jshint するとilleagal instructionって言われる

タイトルの通りですが、調べてもなかなか解決策が出てきません。 そういえばCoffeeScriptをインストールするときとかにもこの問題に悩まされた気がします。 が、nodeを最新版にしたらあっさり解決しました。 そんなことだったのか・・・ nave use latest

ブックマークレットの小技

(function(){ var a='hoge'; alert(a); }()); これを (function(a){ a='hoge'; alert(a); }()); こう、書くとvarを使わずにローカル変数が作れていい感じ。 変数名が1文字なら5文字の節約になる。 var%20a

Ubuntu 11.04でDropbox使えなくなった。

解決したのでメモ。"In order to install Dropbox you must download the propretory daemon"ってメッセージが表示されて、OKを押すと何かダウンロードして解凍しようとするんだけど、その解凍が96%で止まる、ということが起きていた。 ホームフォルダを開い…