パスワードを忘れた? アカウント作成
13509651 journal
日記

Ledの日記: Frogpadからメールが来た

日記 by Led

出る出る詐欺を繰り返していた片手キーボードのFrogpadだが、
何やら訴訟で揉めていたとのメールが届いた。
「訴訟で勝ったからこれから新しい製品が出るよ」という趣旨のことが書いてあるが、本当なのだろうか?

新製品が発売されたら呼んでくれとしか言えないかな…

13492827 journal
日記

Ledの日記: 異世界 3

日記 by Led

どうせ娯楽なんだから何でもいいと思う。
力を入れない部分はいい加減な描写で、どっかに力が入ってればいいのよ。
どこにも力が入ってないと思うなら読まなけりゃいい。

まあ、若いころは自分も似たような話でワイワイガミガミ騒いだものじゃよ。
是非を巡って大騒ぎすること自体を含めてお好きにどうぞという話でもある。

ところで、手塚治虫の乱世編では源頼朝が電話で話をするコマがあって、
自分はそういうバカ表現が大好物です。

------
追記.
なお、異世界ものの細かいところが気になる人が幸せになるためのお勧めの本があります。

「歴史書」最高です。今のところ古代地中海だけに絞って読んでますが、面白いですよ。
ヘロドトス、トゥキュディデス、クセノポン、アッリアノス、etc...

ぜーんぶ実際に書き残されたものを人類が出来る限り保存してきたものなので、
間違いはあってもこういう一次資料より正確にすることは無理です。
古代地中海だと日本と全然違う風土を舞台にして異世界っぽさもバッチリですね。

13477413 journal
変なモノ

Ledの日記: 音声認識アシスタントへのセクハラ回避 3

日記 by Led

表で盛り上がってるけども。気になるのは下ネタに興味がある人がツールとして音声認識アシスタントを使いたい場合かな。くだんの団体の言うことに100%従うとすると、男声にしておかないと男性向け下ネタに対して懲罰的な動作とかそういう実装を目指すことになる?女性向けのネタを聞くには女声にしなきゃならんってことかね。めんどい。

解決法として、不自然な声でいいから性別判定不能な感じにしてしまうというソリューションを提案したい。あしゅら男爵並みに男声と女声を同時に鳴らすとか。

----

使用者自身の声を使えばいいかな?基本周波数だけ取って、同じ周波数の棒読みちゃんでもよい気がする。

13473876 journal
日記

Ledの日記: 管理職

日記 by Led

「管理職になりたいか?」と言われると業務内容に興味は持てないなあ。
なぜイヤかって、10年前は人間に何かやってもらうってことに恐怖心があったのだが、
今はそれほどではない。それにしても楽しそうには思えない。なんでだろう?

考えてみて思いついたら追記するので日記で。

13456909 journal
数学

Ledの日記: 停止するか判定できないような関数

日記 by Led

このコメントの話、このコメントの口調は妙に防衛的に感じるし、親コメントACを擁護したいわけでもなく、直接かかわりたくないので「ログインユーザーのみ」の日記で。

「停止するか判定できないような関数」には「チューリング機械の空入力停止問題」とかいうのがあるらしい。要するにC言語で適当にチューリング機械の定義を与えておいて、空入力でのTMの動作を模倣する関数が該当する。ある程度ゴチャゴチャしたものを作ってやれば、人間が見て判断するのはコスト的に無理になる。機械で判定しようとしても、十分長い時間たった後で停止するTMと、永遠に停止しないTMを区別することができない。

他にもPostの対応問題とかいうのがあるらしい。

13454804 journal
日記

Ledの日記: ニコ動に投稿してきた感想 4

日記 by Led

このストーリーに乗り遅れたので日記で。

ニコ動のデメリットについては今更言うことはないと思います。表のストーリーでいっぱい書いてあるしその通りだと思います。

動画を投稿する側のメリットとして、ニコ動システムは「コメントが流れる」という点があります。システム的にはそこにしかメリットを感じていないのですが(追記:ニコニコモンズやコンテンツツリーもニコ動システムのメリット)、動画のどこが良くてどこがアレなのかを見やすいのは、手探りで動画を作る過程ではなかなかの安心感があります。次回作の参考にしやすい。今のYouTubeをチェックしていないのですが、少なくとも昔のYouTubeみたいな動画の下にコメントリストが付く形では不十分かなあと思います。

システム以外のメリットとしては、大体反応が予想できるユーザーが見ている(という気になれる)点ですね。そこにいる人たちはこういうのを喜んでくれるんじゃないかな、とか。別にYouTubeでもいいんですけど、なんとなく住み慣れた村から出るのもどうかなという感じでしょうか。

ニコ動に投稿してた人でもYouTubeメインにして大量再生稼いでる人もいらっしゃいます。あんまりデメリットが増えると、あるいはもう既に、投稿先を見直した方がいいのかもしれないことを否定しようというものではありません。

----

最近こっちに来てなかったので。こんなの投稿してます。まだ新作も出したいなと思っています。

----

ニコニコモンズやコンテンツツリーもニコ動のメリットでした。忘れてた。自分の作ったものを使ってもらったことが通知される仕組みも使ってて心地がよいものです。

13441106 journal
日記

Ledの日記: AIでCAPTCHA突破率66% 2

日記 by Led

これ

画像認識関係はAIが強いという話だったが、もうCAPTCHA程度は
人間とかなり近いレベルで認識できてしまうのだな。
現行のCAPTCHAより難しくすると人間様が読めなくなりそうだし。

そうすると後は何が残るかね。ビルゲイツ認証とかも突破できそう。
もう突破されてるのかな。

13438466 journal
日記

Ledの日記: Oliver日記リンク切れ

日記 by Led

スラド右側に(多分)表示されているスラッシュボックスの「クイックリンク」中にある「Oliver日記」はリンク切れのようだ。

正しいリンクはこちら。もう10年も更新されてないから誰も見ないと思うけど。

-----

「スラッシュボックス」ではなく、今は「スラドボックス」というようだ。
slashdot.jp からsrad.jpに変更した時に一緒に名称変更したのかな。

13436822 journal
スラッシュドット

Ledの日記: 日記の日付指定閲覧 4

日記 by Led

昔の/.jp日記を読みたくなる時がある。

「続きを表示」をクリックし続けてさかのぼることもできなくはないが、きつい。
そういう人のためかどうかは知らないが、日付を指定する機能がついている。

http://srad.jp/index2.pl?fhfilter=%22author:Led%22+journal&startdate=20120401&view=journal&color=black

authorを自分の名前にし、startdateで指定した日からさかのぼって日記を参照できるらしい。この機能はまだ生きている。

13170921 journal
プログラミング

Ledの日記: MME/MMMエフェクト関連の詳細まとめ

日記 by Led

MME用の.fxファイルを自動変換してMMM対応するプログラムを書いていたら、いろいろ不思議な仕様やバグと思われるものまで出てきた。ソースコード中にコメントで書いていたりするが、MMM用にエフェクトを書きたい人のためにメモしておく。(作者のMoggさんは最近多忙らしくMMMも1年以上更新されていない。知らせたとしてすぐに更新されるわけでもないと思われるので、いろいろ洗い出してから知らせることにする。)

-------------------
MMEの仕様で注意すること

●float4 EgColorとfloat4 SpcColor

この二つの変数はREFERENCE.txt(マニュアル)にないが、古いMMEで材質モーフ後のエッジ色、反射色と反射強度を取得するのに使われていて、この仕様はMME v0.37でもまだ生きている。MMMでは材質モーフ後の色しか取得しないので、MMMのマニュアルに従って変数を設定すれば移植できる。

--------------------
MMM用のエフェクトを書く際に注意すること

●ライト関連のジオメトリ変換行列の制約

MMMのエフェクト開発マニュアル(この執筆時点でv1系はv1.2.7.2が最新)にはライト関連の座標変換行列を取得するには
float4x4 LightWorldViewProjMatrix : WORLDVIEWPROJECTION < string Object="Light";>;
のように書いても取得できるとの記述がある。が、実際やってみるとどうやら< string Object="Light";> のアノテーション部分が無視されているようだ。(アノテーションがあってもなくても同じ動作に見える。) ワークアラウンドとして、最もよく使うライトのWORLDVIEWPROJECTIONに関しては代わりにLIGHTWVPMATRICESというセマンティクスが用意されている。これを使って

float4x4 LightWorldViewProjMatrices[MMM_LightCount] : LIGHTWVPMATRICES;
#define LightWorldViewProjMatrix LightWorldViewProjMatrices[0]

などと書くべきであるようだ。

なお、こうやって計算したLightWorldViewProjMatrixでもz座標の計算が不安定である。OFFSCREENRENDERTARGETの描画で、この行列を掛け算した位置ベクトルのz座標を用いて描画を行うとひどくチラついてしまう。(MMMのUIから当該OFFSCREENRENDERTARGETを表示すると綺麗に表示されるので中々気づけない) なお、MMM添付のSampleBase.fxmでは、z座標だけ別に計算しなおしている。

また、

float4x4 LightWorldMatrix: WORLD < string Object="Light"; >;
float4x4 LightViewMatrix : VIEW < string Object ="Light"; >;
float4x4 LightProjMatrix : PROJECTION < string Object ="Light"; >;

これらの記述も同様にアノテーションを無視したような動作をする。

●DefaultEffectで none, hideばかりのOFFSCREENRENDERTARGETがUIから省略される

デフォルトで指定するシェーダが無いOFFSCREENRENDERTARGETはMMMのUIからアクセス不能になってしまう。エフェクト作者の立場からこれを防ぐには、DefaultEffectに

self=dummy.fxm

のような指定を追加して、さらに何も描画しないエフェクトdummy.fxmを作成しておく。なお、UIにはデフォルト指定されたファイル名が表示されるので、OFFSCREENRENDERTARGETの名前を(dummyの代わりに)エフェクトのファイル名にすると使いやすくなるだろう。
(なお、MMEではselfは「このエフェクトが割り当てられたモデル」だが、MMMでは必ずポリゴンを持たない「エフェクトオブジェクトと呼んで良さそうな何か」になる。selfに何を指定してもMMMでは描画に影響ない、はず。)

●エッジ色のα値について

MMM添付のSampleBase.fxmではエッジ用のtechniqueで
AlphaBlendEnable = FALSE;
AlphaTestEnable = FALSE;
という指定がされているが、AlphaTestEnable=TRUEに書き換えてやって、ピクセルシェーダでα値を0にすると描画をストップできるようだ。ピクセルシェーダ側でポリゴンに穴をあけたい場合などに使える。なお、AlphaBlendEnable=TRUEとしても無視されるようだ。
MMEではエッジであっても透過処理をしてくれるので、ここも差異として記録しておく。

●UseToonおよびuse_toonの動作の差異

MMEとMMMではトゥーン指定がない材質の描画でUseToonおよびuse_toonの真偽が異なるようだ。このせいでMME用のエフェクトをMMMに持ってくるとモデルの表示が醜くなってしまうことがある。回避するには、まずMMMの特殊パラメータ

bool usetoontexturemap; // Toonテクスチャフラグ

をエフェクトの先頭付近に追加しておいて、その後MMDPass="object"のピクセルシェーダでUseToonの値が入っている変数(含use_toon)を

(use_toon && usetoontexturemap)

のように書き直す。

●シャドウバッファ

MMEではセルフシャドウに使うバッファにアクセスする際に

sampler DefSamp : register(s0);

と書く約束になっている(DefSampは別の名前でもよい)。が、MMMでは違うものを使う。MMMではMMM_GetSelfShadowToonColorとMMM_GetToonColorの2つの関数を使ってセルフシャドウの計算をする方法が推奨されているが、それでは自動変換が大変やりづらい。

代替案を探すためMMMをよく観察した。MMMではデフォルトでMMM_SelfShadowDepthMap1というテクスチャが定義されていて、これにアクセスするとMMDのセルフシャドウに似た計算ができる。ただし、計算値が違うため換算処理を書いてやらなくてはならない。MMDのデフォルトシェーダにとても近い描画をするMMEエフェクトのfull.fxにて、シャドウバッファ座標のz座標を

Out.ZCalcTex.z = (length(LightPosition - SkinOut.Position) / LightZFar);

に修正する必要がある。また、SKIIの値を5倍程度にしなければ、モデルとカメラの距離が離れるとすぐに影が薄く消えてしまう。
-----------------------
(2017_06_09追記)

float4 EdgeColorという変数をグローバルで定義するとMMEでもMMMでもエッジの色を取得できるが、MMMではその非透明度が1ではなく2程度になっている。対策としてEdgeColorを参照しているところを見つけたら全部 saturate(EdgeColor)に修正する。
-----------------------
(2017_07_04追記)

実はHLSLのテクスチャサイズには限界があった。MMEでは限界を超えたサイズのテクスチャサイズを適当にごまかすようだが、MMMではエラーを吐いて落ちる。なお、MMMではテクスチャサイズの限界は1辺8192ピクセルのようだ。
----------------------
他にもまだ出てくると思われるが、気が付いたときに書き足す。

typodupeerror

にわかな奴ほど語りたがる -- あるハッカー

読み込み中...