音 | |||
---|---|---|---|
NScripterDS | Ogg/Wave/MP3ファイルのストリーミング再生 | nscrplg |
音周り決定版。dwave系列とbgmに不満を感じたら利用するべき。 左右パン(スピーカーの音量バランス)等公式のdllより機能が多い。 「一度ロードしたファイルを保持したまま再生」を行う現状唯一の手段。 実行も標準命令より(ミリ秒単位で)軽く、60fps動作のゲームを無理して作る場合は必須dll。 作者サイトは閲覧不能だが、2ch本スレろだのuploader.zip内、n0244.zipにラッパ(使いやすくするための仕掛け)が、nsc_pub_4.zipに最新版を同梱したサンプルがアップロードされている。 同梱マニュアル内の「Loop Tunerを使う方法」オンラインドキュメントはリンク切れしているため、インターネットアーカイブから内容を確認する事になる。 ※ラッパ…使うとLua標準関数を呼び出す感覚で各命令を利用可能になる。Lua主体なら手放せない。なおラッパ57行目のlocal st = params[2] and params[2] or 1; はそれぞれparams[3]の誤字?(そのままでも実害はほぼ無いはず) |
NSSeiren/SoundEffect | Oggファイルの高度な再生 |
ガラスグサ 配布ページ |
2021年に現れた音周り決定版へのチャレンジャー。Oggファイルのシークや一時停止に対応している一方でOggファイル以外は一切再生できない。 bgmやdwave乗っ取って併用するのがいいんじゃないかな… |
文字周り | |||
NSFont.dll |
下線文字・取り消し文字・袋抜き文字・細文字 文字の透明度 外字の登録 |
NS栗 |
定番dll。ハートマーク等の(標準のsjisが対応していない)文字を30個まで登録できる。 Nスクの太字設定を切らずに使うと文字が潰れる(サウンドノベル用途においてはバグ扱いだが、ポップ体のように見えるため他ジャンルでは使い道がある) |
NSFukuro.dll | 袋文字(テキストウインドウと同期させたレイヤーを利用) | NS栗上に存在。 |
配布ページからはリンクされていなかった。 geocitiesは隠しページの存在を建前上禁じていたため、何らかの偶然により一時的に漏れていると考えられる。 「Nスクの文字は他エンジンより読みにくい」という声と共にかつて切望された袋文字を実装する仕掛け。(私自身は特に読みにくさを感じた経験がないため実感が湧かないが……) サンプルが(非公式マニュアルでは動作不安定につき非推奨とされる)windowchip命令を使用している、実用にはシステムカスタマイズかLuaコールバックが必要など、利用には若干のハードルが存在する。 NSFont.dllの外字登録とも併用可能。 他の袋文字プラグインと比較した場合、テキストウインドウが対象になっている点が特徴的か。 |
フォント機能拡張 Ver0.1 | フォント周りの機能を拡張 |
君影草工房 配布ページ |
同梱フォントの一時インストールなど。NScripter Scripting Factoryにラッパが存在する。 |
deffontd.dll | 与えたテキストをテクスチャ・文字スプライト化する | 2ch本スレろだのuploader.zip内、n_0241.zip |
公式dllの機能追加版。渡した文字をテクスチャに出来るため、NSD系列の弱点であった文字周りを扱いにくい問題が解決される。 標準の文字スプライトと若干見た目は異なるが、半角文字をそのままスプライト化できる、Unicodeに対応している、NSFont.dll相当の機能(打消し線や外字)も備わっているなど夢が広がる。NScripter - Tipsの雑記に使用サンプル、n_0239.zipに禁則処理サンプル(テキスト機能を完全に代替する場合の助けになるはず)がある。 ろだに複数バージョン存在し、n_0241.zipが最新版。 拡張元であるdeffont.dllと同じく「任意の文字列をテクスチャ化」というNSLua用の機能も持つ。 付属のdeffontd_u8.dllをBOM無しのutf-8ファイルと組み合わせることで多言語対応も可能。夢が広がる。 長々書いたがろだの実物を見た方が早い。 |
ima.dll | テキスト入力を自前で描画する | WINTER CROWS BLOGにて公開中(edit.zip) |
deffont.dllとの連携が前提。IMEの入力(文字入力)を受け取って自前で描画する命令が追加される。 その性質上(textfield命令と違って)背景は透過される。格好良いテキスト入力欄を作成しやすくなるはず? deffontd.dllと連携させれば「テキスト入力を促す」場面をあれこれ演出・装飾できるようになる。 |
表示と特殊なスプライト(レイヤー)の生成/加工 | |||
strspの影スプライトを作るdll | つまりstrspを袋文字化する | 2ch本スレろだのuploader.zip内、n_0247.zip | 「strsp(複数行文字スプライト)を斜め四方に1ピクセル広げた影」をスプライトとして生成する。 |
dpshadow.dll | スプライト・文字スプライトを基にドロップシャドウスプライト生成 |
君影草工房 アーカイブにも残っておらず現在はダウンロード不可能。再配布禁止なので公的には手詰まりですが、たとえばNSLaは当該プラグインを使用しています。 |
文字スプライトに対して使えば袋文字としても機能する。 通常の配布ページでは公開されていない(日記にて仮公開が最終版)。影のパラメータを細かく設定可能、2つのスプライトを統合(マージ)する機能も付いている。 「生成・変換したスプライトは、標準のセーブデータに保存されません。 セーブ機能をカスタマイズする場合は、 依存関係に注意してコーディングして下さい。 復元する順番で結果が変わります。」 とのこと。この辺りの制約はstrsp等と同じく ・ロード時処理内で必要な復元を行う ・セーブポイントに関わる箇所以外で使う といった対応とワンセット。 |
nsspfab.dll | 標準スプライトを回転・拡大縮小 |
senzogawaのNな日々雑記 配布先url |
拡張スプライト(〜sp2系列)は通常のスプライトと表示優先順位が異なるが、このdllはスプライトそのものを加工する。「スプライトを直接変形したい」場合にこのdllを利用できる。 |
nssp2tex.dll | NScriterスプライトをNSLuaテクスチャに変換 |
senzogawaのNな日々雑記 配布先url |
スプライトをNSLuaのNSD系列で使えるテクスチャに変換する。 テクスチャ→スプライトはNSLua標準関数に用意されているが、その逆は存在していなかった。 そのままでも便利だがdeffontd.dllと組み合わせた場合に真価を発揮する。 いわゆる三大Nスクプラグイン聖地の永字八法製カメラdll(現在画面をスプライト化する)と組み合わせれば「NScripter主体でテクスチャを併用する」というスタイルが実現できたようだが、こちらは残念ながら現在インターネットアーカイブを駆使してすら入手できない。 →NSLetheに機能付けました |
リストボックス表示用dll、ListV.dll | 実際に動かせるリストボックスを画面に表示 | NS栗 |
見かけだけではなく、入力フォームで見かけるようないわゆるリストボックスの機能が完全に再現される。選択中の項目を取得したり、複数表示も可能。 レイヤーを使用しておらず、Nスク本体のスクリプトとは独立してリストを操作可能。原理的にはウインドウに重ねて表示されているのだろうか? |
NShake.dll | 指定したスプライトとそれより下(背景含む)をゆらぎ表示(かげろうのような感じでゆらして表示) | ||
NMosaic.dll | 指定したスプライトとそれより下(背景含む)をモザイク表示 | 画面全体に掛ける目的なら2.96でmosaicout/mosaicin命令が追加されている | |
Pictorial VerInfo Ver0.0 | バージョン情報で画像を表示 |
君影草工房 配布ページ |
上部メニューのアレを乗っ取る。 |
レンズフレア Ver0.1 | レンズフレアを表示するレイヤ | まぶしい光が差し込んでるあのエフェクト。 | |
ぼたんゆき Ver0.3 | 牡丹雪を表示するレイヤ | 雨の演出にも使われる。 | |
花散里 Ver0.1 | 桜吹雪等を表示するレイヤ | NScripter Scripting Factoryにラッパが存在 | |
活動写真 Ver0.0 | 古い映画のような効果を加えるレイヤ | ||
君影草工房時計 Ver0.1 | アナログ時計を表示するレイヤ | ||
NSLethe.dll | スプライト加工・レイヤー効果プラグイン |
ガラスグサ 配布ページ |
画像編集ソフトによく付いているようなフィルタ効果を一通り揃えたついでに関連機能を色々付けました。スプライト加工にもレイヤープラグインにも使えます。 |
視覚エフェクト | |||
KieKie - クロス滝 Ver0.1 | 滝が流れるような(?)エフェクト |
君影草工房 配布ページ |
|
KieKie - 拡散 Ver0.3 | 粒子状になって拡散,集積 | ||
KieKie - クロス縦波 Ver0.1 | 縦波を生じさせながらクロスフェード | ||
KieKie - クロス渦巻き Ver0.0 | 渦を生じさせながらクロスフェード | ||
KieKie - クロス横波 Ver0.0 | 横波を生じさせながらクロスフェード | ||
KieKie - クロックワイプ Ver0.2 | 画像を使わず高品位なクロックワイプ | ||
アニメーション・動画再生 | |||
wcmpg.dll | MPEG-1(mpg,mpv,mpaファイル)をレイヤー上で再生 |
WINTER CROWS 配布ページ |
単なる再生ならmovie命令を使えばよい。 「レイヤー上で」が非常に重要な点。 |
nptheora.dll | Theora(OggTheora/Vorbis)をレイヤー上で再生 |
「ソフトウェアでデコード処理しているため再生負荷が結構あります。」とのこと 参考:Theora(Wikipedia記事) |
|
nsswf.dll |
Flash(swfファイル)をレイヤー上で再生 nsswf.dllはnscrm3dの前提dll |
環境依存などの理由からFlash利用は控えるべきとの声も割と見かける。 ファイルをメモリに展開するためストリーミングする動画よりは重い。他のアニメーション手段(dll、luacall animation、スプライトのセルアニメーション)で代替可能な用途ならそちらの利用を推奨? |
|
Flashムービー再生用dll、FlashP.dll | NS栗 | ||
スプライト移動表示用dll、MSpDraw.dll | 文字を表示しながら、背景でスプライトを動かすためのdllです。 | 現在は素のNScripterでもluacall animationを用いると(背景のバックグラウンド移動程度なら)容易に実現可能だが、複雑なエフェクトを伴うアニメーション機能(三次元的な縦回転等)を行う場合はこれが唯一の手段。付属のサンプルを見るべし。 | |
アニメプラグインanm.dll | 不定間隔なアニメーションの実行、テキスト表示中の画像の座標移動。 | Andolfさんの物置 | こちらは2D的なアニメーションに特化されたプラグイン。MSpDraw.dllと得意分野が異なるため、両方サンプルを見た上で用途に応じて使い分けると吉。サンプルが面白い。 |
入力拡張 | |||
GetKey Ver0.5 | キーダウン情報やゲームパッドの状態を取得。 |
君影草工房 配布ページ |
キーボードについてはisdown等Nスクの命令が存在する。ゲームパッド対応はDirectInput(PS2互換コン)を想定? Xinput(箱コン)等アナログスティック操作前提とする場合は遊び(スティックがニュートラル時、内部的な数字が綺麗に中央にならない場合がある/プレイヤーが意図しない微細な入力を拾ってしまう場合がある)は自前で切る必要がある |
マウス機能拡張 Ver0.0 | マウス周りの機能を拡張 | 具体的にはマウスジェスチャへの対応 | |
Xinput.dll | Xinputゲームパッドの入力情報取得/振動させる。最大4台までまとめて処理できる。 |
ガラスグサ 配布url |
機能少ない分ミリ秒単位で軽い。一方でDirectInputに対応していない。 GetKey.dllとの併用を想定している。「Xinput対応コントローラーの接続を確認、ダメならGetKey.dllでDirectInputコントローラーを確認する」の順で使うと良い感じになるはず。 |
かゆい所 | |||
マウスカーソルをデフォに戻すdll | mousecursorで変更したcurファイルからデフォルトのものに戻す | 2ch本スレろだのuploader.zip内、n_0235.zip | |
複数段メニューに対応させるdll | 上部メニューが複数段になると画面下が見切れてしまう問題を補正 | 2ch本スレろだのuploader.zip内、n_0130.lzh | そういうバグがある。そもそも上部デフォルトメニューが複数段になる環境は限られる(普通サイズのシステムフォントにおいて、resetmenuから普通に(非推奨ではない)項目を並べる分にはあまり1段を超えない)、凝ったメニューを作る人は自作する等の理由からか界隈で十分に検証されていないが、引っ掛かった人への救済措置として有用ではあるはず。 |
GetSystemInfo Ver0.1 | 実行環境の様々な情報を取得 |
君影草工房 配布ページ |
空き容量など本体側の物理的な情報。 |
フォルダ作成・削除、ファイル読み書き名前変更プラグイン、fileutil.dll | ファイル操作用プラグイン | 配布ページ | 現在ではNSLuaから多くの操作を行えるが、ダイアログ等を出さずに「フォルダ作成」を行う場合はdll使用が現状唯一の手段。 |
正規表現文字列検索プラグイン | 正規表現文字列検索用プラグイン | Luaの文字列検索関数string.find()やstring.match()等は標準で正規表現を使用できる(やや簡易化されてはいるが)ため、それで済む用途なら現在ではそちらが手軽。 | |
nsutf.dll | NScrLua用SJIS-UTF8相互変換プラグイン、nsutf.dll |
senzogawaのNな日々雑記 配布先url |
2017/12/18訂正:BOM無しに限りutf-8テキストファイル対応していたみたいです……普段メモ帳で作業している(=暗黙的にBOM付き)せいでずっと勘違いしてました…… サウンドノベルを作る分にはまず出会わない問題だが、「何か別の用途に使うテキストファイルを出力する」といったツール的用途においては大きな助けになり得る。 とりあえず文字コードで悩んだら思い出してみよう。 |
nsarc.dll | NScrLua用アーカイブ情報取得プラグイン |
senzogawaのNな日々雑記 配布先url |
「NScripterのLua実装から呼び出して使うアーカイブ情報取得用のプラグインです」とのこと。nsa/ns2両方に対応している。 |
HybridScripter |
urlを指定してファイル保存や文字列取得 使用中ネットワークのIPアドレス取得 |
Despair & Hope プログラム支部 | アップデートの自動確認などに使えるはず。 |
ププデバッグ | 指定したレイヤー(スプライト)に指定した文字のログを送っていくデバッグ用dll | Andolfさんの物置 | 変数の状態を追跡したい時などに便利なはず。 |
NSMirage | 可変サイズのダミー窓を上から貼り付ける |
ガラスグサ 配布url |
デスクトップ解像度を変えずにフルスクリーン化したりできる。 ついでにバグを取ったListV.dll相当の機能も内部に仕込まれている。 組み込むにはスクリプトの修正が大なり小なり必要になるので注意。 |
NSLuaとの連携補助・他言語との連携 | |||
nscrm3d | MMDモデルの表示・動作 |
senzogawaさんがTwitterにて公開中
配布先url |
恐ろしいことにカメラ・表情・モーション操作も行える。性能的にローポリ前提とのことだが、サンプルのインパクトは絶大。 起動にnsswf.dllが必要。サンプル起動手順は「bin/sampleフォルダにnscr.exeとnslua.dll,nsswf.dllを置いてsample.batを実行」とのこと。 MMD開発者である樋口優さんがいわゆるNスク三大プラグイン聖地のNS栗管理人であることを考えるとNScripter上でモデルを表示するという機能はなんか綺麗に輪が出来た感覚がある。 |
Mecab連携(mecab_sparse_tostr) | NScrLua用MeCab利用プラグイン |
senzogawaのNな日々雑記 配布先url |
Mecabは形態素解析(文章構造、品詞の分析)を行う。利用例として自動でルビを振るサンプルが付属している。 |