Hatena::ブログ(Diary)

げっかんにっき このページをアンテナに追加 RSSフィード

伺かゴースト「レチハルカ」等の更新記録と
鉄道旅行記と、列車コンセント情報がメインの日記です。
伺かゴーストって何? という方は外部解説サイトも御覧下さい。


本体サイト

ゴーストダウンロード

伺か最萌トーナメント終了

2015年5月3日(日) うかべん大阪 #9 テキスト実況

第二部 12:50〜

12:53 | 第二部 12:50〜 - げっかんにっき を含むブックマーク 第二部 12:50〜 - げっかんにっき のブックマークコメント

「3Dで行こう!」 - yasi 様

  • 概要
    • 3Dシェル描画モジュール「Uka3D」について。
  • 2000年以降のゲーム等コンテンツ。
    • 3Dコンテンツが増加。リアルタイムレンダリングによる高品質アニメーションが使われるようになった。
  • もし、3Dシェルが使えたら?
    • 「可愛い仕草」「ゲームのような動き」「めくるのではなく、そっと覗..」
    • →「Uka3D」を使ってみよう!
    • 4年前の「うかべん横浜 #7」にも関連発表あり → http://d.hatena.ne.jp/hinoharu/20111009 「お楽しみ枠」

ーUka3Dの概要

    • 3DモデルをShellとしてリアルタイムレンダリングを行うモジュール。
    • SAORIとしてゴーストに組み込む。本体サーフェスウィンドウと半連動して稼働。
    • テストゴースト「MIKUさんDay's」で公開中。SAORI単体公開を実施。
  • 目的
    • 3D描画による安価なアニメーション表現を実現し、新たなキャラ表現を実現。
    • 一定のプログラミング力が必要であった3Dデスクトップマスコットの作成を安易に。
    • MMD界などからの新たな人材の取り込み。
  • デモンストレーション(MIKUさんDays)
    • 配布版は少し古いバージョン。新バージョン0.2は多ゴースト(多キャラ)立ち上げられるようになっている。
    • きせかえ機能も実装
    • ランダムトークはないが、かわいい仕草をする。新しい表現。
    • https://twitter.com/hinoharu/status/594714373160996864 多キャラモード
  • システム(概要)
    • 描画コア:DirectX9.0C以降(DXライブラリ)
    • 3Dデータ:PMD、モーションデータ:VMD(MMDで利用されているデータ形式
      • MMDの3DデータはPMXに変わりつつある。PMXも読めるが、上位互換部分の機能は動作しない。
    • Surfaces.txtに代わる独自規格の定義ファイル、Character.txt等を使用。
  • システム(構成)
    • 構成図 https://twitter.com/hinoharu/status/594715434496053248
    • Uka3Dでも2D仕様のsurface*.pngなどを保持しているが、ダミーファイル。(黒画像)
      • 旧来のサーフェスウインドウに重ねて3Dモデルを描画している。
    • GhostフォルダにSAORIとしてdllを保存。Ver.2では「Uka3D_Proxy.dll」と「Uka3D.exe」に分けている。
      • キャラクターの数だけ「Uka3D.exeのプロセスが立ち上がり、Proxy経由で本体と通信」
    • Shellフォルダの中に「Uka3D」フォルダを配置し、中にキャラクターデータ・3Dデータ・テクスチャ・アニメ等を保存
      • Uka3DのpmdファイルはDirectXの仕様で「連番」でなければならないが、使いやすさのため、「Character.txt」でエイリアス番号を割り当てしている
    • https://twitter.com/hinoharu/status/594716726517837826
  • システム(通信)
    • 既存のダミーウインドウとUka3Dウインドウの間でデータを通信
    • 起動時:既存ウインドウ→【位置情報】→Uka3Dウインドウ
      • Uka3Dウインドウの作成時に既存ウインドウのWHNDを要求している(?)
      • 前回終了位置をUka3Dレイヤーで保存するのが面倒なので、毎回位置情報を要求
    • 起動後:Uka3Dウインドウ→【マウスイベント、位置情報、Zオーダー】→既存ウインドウ
      • クリック時にバルーンも手前に出てきてもらうためにZオーダーを利用
      • Zオーダーは制御できるときだけしている。「常に手前に表示」には未対応。※SSP本体の「常に手前」と併用のこと
    • Uka3Dウインドウ(Uka3D.exe)だけでなく、Uka3D_Proxy.dll も本体SSPにデータを送っている。(DirectSSTPなど)
      • 複数キャラクターからまとめて本体でデータを受け渡ししないといけないときはproxy経由
  • 定義ファイル
    • 既存のsurfacestxtと同じような書式。
    • アニメイションさせることを前提としたシステム。
      • ループアニメ指定可能(アニメの最初と最後を同じポーズにする)
      • 次に再生されるアニメーションが指定可能
      • モーションA・B間のブレンドアニメーション(モーフィング)設定
    • コリジョン設定ではマテリアルIDを指定する。
      • 3Dの部品のIDみたいなもの
    • 着せ替えのかわりにアクセサリ設定が可能。
    • アニメーションの構成→3つの部分。「動きのある最初の部分」「ポーズ部分」「元に戻る部分」
      • ex.「ビックリして」「固まって」「もとに戻る」→一連の設定を指定することができる
  • 辞書での実装
    • すべての開始イベント(起動、切り替え受け等)でcreateリクエストを実行。
      • createリクエストの引数に「イベント名」を含めることができる→On3DBootのref0で帰ってくる
      • ref0で分岐可能
      • uka3Dウインドウを作る→初期準備を終えたらOn3DBootイベントを返す。
    • すべての終了イベントで明示的アンロード、もしくはallresetリクエストを実行する必要がある。
      • 基本的に、Shioriは終了時にSAORIを自動的にはアンロードしないので、これをしないとUka3Dプロセスが残ってしまう
    • On3DMotionChange (2DでいうOnSurfaceChangeと同じ働き)で通知されるモーションIDをもとに、次に再生するべきモーションIDをリクエストする
  • 課題
    • Character.txtを記述するためにDXライブラリ付属の「DxLibModelViewer」が必要。マテリアルIDを調べるのに使う。
      • 今後、開発ツールに上記ソフト同等の機能を実装する必要がある。誰かやってください。
    • 起動中、ウインドウサイズの変更ができない。(シェルサイズを変更したい、等)
      • 本当は変更できるが、DXライブラリの初期設定を破棄→再読み込みする必要がある。資料を読み込みきれていない。
    • 多キャラ対応したことで更に定義ファイルの企画策定が難航中。一人で決めるのは大変。
      • 実際にゴーストを作ってみるしかない。
      • 仕様公開後に大幅な仕様変更をかける可能性も否定できない
    • SAORIでの実装には限界はある。
      • ex.更新時、SHIORIがSAORIをアンロードするため、更新時はキャラが隠れてしまう
      • できればSAORIの枠の先を目指したいが…SERIKOの切り離しができれば…(ここでぽなさん逃亡)
    • ※2012年当時のやりとり
      • 現在2Dで表示されているゴーストに3Dの追加シェルを作ることはできるか?
      • SERIKOシステムの切り離し仕様に依存するものと思われる。が、おそらく作れるでしょう。それを考えて作っている。(ぽなさん談)
  • 今後の展開
    • 最低限の規格策定後、単体・仕様の公開(専用サイトの開設)
    • テンプレ用サンプルゴーストの作成
    • 3Dシェル支援ツールの作成
    • モデル本体以外の描画(エフェクト等)
  • 企画の策定には皆様の協力が不可欠!今後ともご協力をおねがいします。
  • 質疑
    • 物理演算はリアルタイムなのか、ベイクされているのか?
      • MIKUさんDaysではベイクしていない。(ベイクすることもできる。読み込みが若干遅くなるが、起動後の計算量は減るので軽くなる)
      • 物理演算は入っているが、使うか使わないかデベロッパが決められる。MMD側で定義されているアニメーション(髪の動き方など)はそのまま動く。

「よろしくUKADOC -実写版-」 - もっしょくし 様

  • UKADOCとは?
    • 「Disc2の文章を基盤に、散逸しがちな伺かの仕様文書をできるだけ集めるプロジェクト」
      • いろいろな人が作ったものを集めて一つの作品を作るため、仕様がまとまっていることが大事
    • 伺か関係の仕様文書集約プロジェクト。および、その成果物としてのドキュメントのこと。
    • SSPの公式仕様文書 (※materia、CROWなどの公式文書ではない)
    • サブプロジェクトとして、SSPのヘルプのメンテナンスも実施
      • 現在はヘルプが完全オンライン。オフラインヘルプも整備したい
  • 誰が管理してるの?
    • 「特定」多数共同の管理(コミッタ制)
      • メリット:手がいっぱいある。個人管理のものは情報が古いまま更新が止まってしまったものがある。
      • メリット:Wikiと違い特定管理なので荒らされにくい
    • Ownerは2名(ぽなさん、緋龍華さん)
    • Committer14名(もっしょくしさん、畝某さん など)
  • Disc-2との関係は?
    • Disc-2(緋龍華さん管理)とデザインが似ている→許可を得てデザイン提供いただきました
    • 情報はukadocのほうがup-to-dateなのでぜひご利用ください
  • どう使ったら便利?
    • ページ内容の概要が記載されているので熟読のこと
    • 「記述例」を追加しているので、SSPのSendboxから本体にスクリプトを投げるとサンプル動作させられる(powered by あーるでぃ様)
    • ex:\_bタグの実演。画像をbase64エンコードした文字列を与えてインライン表示するサンプル。かっこいい!
    • ex:ShioriEventのサンプル。OnMouseDoubleClickイベントのリファレンス(引数)の意味を調べてみる。便利!
    • 現状では辞書のような使い方を想定だが、将来的には「教科書」にもしたい。ukadocを見ればゴーストの作り方のツカミを理解できるようにしたい。
      • あまり教科書成分を強くし過ぎるとサイトの軸がぶれるので、「参考書」レベルには濃くしたくない
  • 今後の予定は?
    • 各仕様概説をきちんとまとめる
      • 「駄でべ」にあるSSPの仕様文書を引き上げる(ただしこれはもともとの伺か仕様とSSP仕様の差分でしかない)
      • うさださくら」の根本仕様を補完。ukadocだけ見て全体がわかるようにしたい
    • SHIORI/3.1
      • SSPの仕様をSHIORI/3.1として新しく定義してはどうか?という話
    • もっと根本的な用語定義がほしい(うさださくらにはあるが…)
      • 伺か、GHOST、SHELL など
    • SERIKO描画メソッドなどに図解を追加。
      • Overlay、Replace などをわかりやすく
    • さくらスクリプト以外にも凡例を追加したい
    • 助けてくださるかた募集中!
      • Committerにならなくても良い、画像の編集とか手伝ってくれるだけでok
    • Google Code終了に伴い、GitHubに引っ越し予定
  • 誤字報告や要望はどこへ?
    • サイトのヘッダにある「報告・連絡」ボタンから、SSP Bugtraqの「Todo(SSP以外)」へ!
  • まとめ
    • UKADOCは(SSPの公式)仕様文書集です
    • UKADOCは現在進行形のプロジェクトです
    • UKADOCへのリンクをよろしくお願いします
      • (TIPSを外部記事で書いたときにリファレンスとしてリンクを貼ってもらえると嬉しい)
    • UKADOCはあなたのコミットをお待ちしてます
  • ところで
    • マスコットキャラクターがほしいのですが
      • UKADOG(犬)っていう名前だけ思いついたので、どなたかシェルと辞書書いてください!(安心と信頼の丸投げ)
  • 質疑
    • 「\p[x]タグのサンプルで文中の「\0」がエスケープされてないが?
      • \が抜けています。某あーるでぃーさんを叱っておいてください(byもっしょくしさん)
      • 治りました。(byぽなさん)
    • 万一に備えてうさださくらをバックアップ(保存)しているか?
      • 個人的には念のためしている。
    • Committerになるにはどうしたらいいですか?
      • ぽなさんに言えばもれなくなれます。

「『さとりすと』里々ゴーストの統合開発環境をつくったよ」 - ななっち 様

  • 概要
    • ヤンデレが好き。
    • 「さとりすと」里々ゴーストの統合開発環境。
      • 公開して1年1ヶ月。今も開発・更新中。
  • 統合開発環境とは・
    • ゴーストを作るのに必要なものを色々集めたもの
      • 例:SSP+メモ帳、FFFTP、フォトビューアー、さとりて、れしば、エクスプローラー
      • SSP以外のすべてを「さとりすと」で!
    • 画面例
  • (特長1)辞書のリスト
    • 「同じ名前で」「同じ名前と条件で」トークを追加するようなことが簡単にできる。ランダムトークのリストを作れる。
    • 辞書を直接編集することもできる。
      • 初回起動時にどちらにするか尋ねられる。あとで変更も可能。ファイルごとに変更も可能。
  • (特長2)デバッグ機能
    • 「さとりて」を使わずに、書いたトークをそのままゴーストに喋らせられる。(コピペ不要)
    • 変数の確認と設定、リロード、イベント呼び出しが「さとりすと」から可能。いちいちデバッグ処理をゴーストに組み込む必要がない
    • 「れしば」を内部に持っているので、新たに起動する必要がない
  • (特長3)設定ファイル編集機能
    • satori_conf や developer_options をリスト形式で編集することができる
    • 更新ファイル設定なども可能(削除ファイル等の設定)
  • (特長4)更新アップロード機能
    • FFFTPなどを起動しなくてもOK(自動化システムと同じ機能)
  • (特長5)立ち絵確認機能
    • シェル合成もやってくれるため、別に画像を用意する必要がない
    • 「サーフェスパレット」も作れる
  • (特長6)さわり反応領域表示・編集
  • ヘルプについて
  • やってみたいこと
    • 里々との直接連携
      • 里々本体に「さとりすと」連携専用の機能を搭載して、デバッグをより手軽にしたい。(変数一括取得など)
      • 「さとりすと」専用の機能をつけてもいいのかな…→ぽなさん「いいです」(1秒)
    • リクエスト対応
      • 需要に応じて機能を拡張する、など。いつも使っている人の意見を聞きたい。
      • バグが出てきたら修正します
  • まとめ(一番いいたいこと)
    • ヤンデレゴーストを作ってください!

--

  • おまけ
    • ゴースト配布サイトジェネレータ
      • HTML/CSSを一切書かずに公開サイトを作れます。配布サイト→
  • 実際にやってみた(デモ)
    • スクリプト作成支援機能(サムネイルをダブルクリックでサーフェス番号入力など)
    • 更新ファイルアップロード機能(誰も気づかないくらい一瞬で更新完了→自動ツイート)
    • ukadoc連携、SHIORIイベントリファレンス表示機能
    • 「さとりすと」自動アップデート機能
    • ゴースト新規作成ウィザード
    • その他、痒いところに手が届く機能満載!(めっちゃすごい)
  • 質疑・要望
    • ワンクリックでウエイト挿入できないか?
      • 右クリックメニューをカスタマイズ可能です
    • REPLACE と REPLACE_AFTER の色分け?
      • 設定で可能?
    • 今出来ないけどそのうち実現したいことは?
      • サーフェスプレビューの精度が悪いので、ukadocの拡充してほしい
    • 一部処理で速度が出ない
      • 里々本体との連携ができれば最高
    • 自動でネタを考えてください
      • 恒例なので気にしないでください(ぽなさん)
    • 設定のエクスポート・インポート機能ほしい
      • 全部の設定でよければ設定ファイルを複製してください
    • プラグイン作りたい
      • 入出力まわりの仕様を教えてもらえれば対応したい
    • すでに里々で作っているゴーストを読み込んで編集することもできるか?
      • できる。最初からさとりすとで開発している必要はない。
      • すでに機能をつくりこんだゴーストも読み込めるのか?
      • 可能。さとりすと専用のゴーストになることもない。
    • \eのあとをコメント扱いにしてほしい(\eでトークとしては終了するが、あとにコメントをつけることがある)
      • 「//」と同様の扱いにすればいいのかも。できればやる方向で。

「"ゴーストプレイヤー フロムウエブブラウザア"」 - duxca 様、奈良阪某 様

*奈良阪某さんパート*

  • 如何か(いかがか)とはなにか
    • 新しいベースウェア=SSPみたいなもの
    • SSPはWindows上で動くアプリケーション
    • 如何か=ブラウザ上で動作する。IE/Firefox/Android 等々…
    • Javascriptベースのベースウェアを作り上げるプロジェクト
  • なぜ作ったか?
    • スマートフォン全盛時代にデスクトップの消滅危機
    • ゴーストが立つ場所がなくなる→やばい
    • Windowsデスクトップ依存からの脱却→ブラウザ上で動作させたい
    • 伺かという創作表現の存続を図るために開発
  • なぜ作ったか(2)
    • 先発のSSP等よりもよりよい設計のものが作れるかも?
    • SSPが動かない環境を制覇することがSSPに淘汰されない唯一の道である
  • どう動くのか
    • システム構成図
    • シェル系・イベント処理系・ファイルシステム系・SHIORI系に別れている
    • 存在するファイルからSHIORIを判別する(栞プラグインを利用)
    • シェルとバルーンを起動(duxcaさん担当)
    • 「こういう動作がおこなわれたら」「イベントを発生させる」という処理をプラグイン方式としている
    • 以降、ベースウェアの動きの話を始められる(SSPなどもやっていること)
    • (イベント発火チェーンの開設)→OnBoot発生→さくらスクリプト発生→サーフェス表示!(拍手)
  • 要するにイベント処理のプラグイン大活躍! 自在にカスタマイズ可能
    • さらに、SHIORIもJavascriptで作れる!
  • 課題
    • SAORI対応、美坂栞(クローズドソース)対応 など

*duxca(ダクスカ)さんパート*

  • ゴーストプレイヤー フロムウエブブラウザア
    • 伺か互換環境の人
    • ウェブブラウザで動くシェル描画エンジンを作戦(CATTLEBONE、イカの殻=如何かのシェル)
  • なぜウェブブラウザで動かすの?
    • 最近ゴーストを起動していない理由?
      • ゲイのサディストだから
      • ではなく、Windowsを使っておらず、パソコンを持っておらず、パソコンを使ってないから
      • 最近の若い人はWindows離れが著しい…が、どれも「Webブラウザが動いている」
    • WEBブラウザで動く=移植性が高い!
    • そしてCUTTLEBONEとは…伺かを多様化するコンピュータ環境に潜り込ませるための技術
  • どういうしくみなの?
    • サーフェス描画までの道
      • narダウンロード
      • zip回答jszip
      • Shift-JISのエンコードencoding.js
      • surfaces.txt読んで(sufracesToYaml利用)
      • canvasに描画
  • どう使えばいいの?
    • 描画エンジンを叩く必要がある
    • 再利用も可能
  • まとめ
    • Webブラウザでシェル病がするライブラリを作った
    • IKAGAKA SHELL APIで抽象化
    • 再利用してください!(いろいろなところで活用してね!)
  • 質疑
    • 作った動機は?
      • (duxca)ゴースト配布ページのサンプル画像を(ゴーストのように)動かしたかった!
      • (奈良阪)ブラウザをベースウェアにしたかった!
    • 描画系とベースウェア系に分けてあることでどんな活用ができるか?
      • ユーザが投稿したトークをブラウザで再生したりできるようになる
    • ページをブラウジングしながらゴーストをいじることはできないのか?(専用タブでなく、任意のタブに立たせたい)
      • Chrome Extention などを使えば実現できるかもしれないが、今のところ不明。
      • ぶっちゃけJavascriptが動くならどんな動かし方もできる
    • SAORIの実現のめどは?
      • オープンソースのSAORIがあまりないので、Javascriptで再開発する必要がある。それをするリソースがない。
      • SAORIのインターフェースをどうするかが未定。(Windows上であればdllとして読みこめばいい)
    • (ぽな)いまどきアンマネージドDLLはないよね(と10年前から言っていた)。SSPは過去互換をしながら維持している間に、クリーンな実装が出てくるのを期待していたが、これで実現してしまっている。
    • 開発者側からみてDLLは鬼っ子。できれば脱却したいが…。
      • たとえば「ゴミ箱を空にする」を実現するのに、ブラウザだと各OS用の処理が必要になる。課題。
    • 先の発表のUka3Dとの連結は?
      • Uka3D仕様をCUTTLEBONE上で実現すれば可能では。
    • WebArchiveやウェブ魚拓の中でもゴーストが動くってロマンじゃない?
      • WebArchiveはデータが飛ぶからどこでも動くようにしようよ
    • プラグインカプセル化で実現できそうなこと
      • Ikagaka Shell APIの先に物理ロボットをつなげばリアルシェルも実現可能!?
      • 合成音声バルーンも実現可能!?
    • ぽなさんのコメント
      • すげぇ。
  • おわび
    • 若干まとめきれてない部分があるので、詳しくは発表資料を参照してください(ヒノハル)
638272
この日記のはてなブックマーク数