mieki256's diary



2019/03/01(金) [n年前の日記]

#1 [love2d] love2dのShaderについて調べてたり

love2dのShaderについて調べてたり。以下を眺めながら、.love をDLして動作を確認したり等。

_Share a Shader! - LOVE
_Love2D | Shader Tutorial 1 | Introduction - YouTube
_Love2D | Shader Tutorial 2 | Simple lighting - YouTube

love2d 11.2 を使って .love を動かそうとしたけれど、ほとんどの .love はエラーが出て動作しなかった。どうやら love2d 0.8.0 や 0.9.x 向けに作られているっぽい。以下から 0.8.0 や 0.9.2 をDLして使ってみたところ、一部の .love を覗いて一応動作した。

_rude / love / ダウンロード - Bitbucket

2019/03/02() [n年前の日記]

#1 [nitijyou] 首が痛い

どうも首が痛い。しばらく横になってみたけど痛みは消えてくれず。

2019/03/03() [n年前の日記]

#1 [prog] cgiとcssを弄ってる

この日記ページの管理ページ関係が随分前からバグっているのだけけど。ふとなんとなく、修正できないかなと急に思い立ったのでソースを眺めているところ。ついでにcssも少し弄ったり。

2019/03/04(月) [n年前の日記]

#1 [nitijyou] 一日中横になってた

首のあたりが痛くて一日中横になってた。

2019/03/05(火) [n年前の日記]

#1 [proce55ing][processing] Processing 3.5.3をインストール

気づいたら Processing (proce55ing) 3.5.3 が公開されていたので、Windows10 x64 上に 64bit版をインストール。今までは 3.3.6 をインストールしてた。

以前書いたソースを読み込もうとしたら文字化けしてしまって悩んだり。設定を変更して、日本語に対応したフォントを選ばないといけないのだろうけど、フォント選択欄がグレーアウトしたまま。何故。

何度か再起動してたら日本語フォントを選べるようになったけど、何でこうなるのだろうな…。

2019/03/06(水) [n年前の日記]

#1 [movie] 「GAMBA ガンバと仲間たち」を視聴

NHK教育で放送されたソレを録画してあったので視聴。3DCGアニメ。制作は白組、でいいのかな。そういえば白組は、「ドラえもん」の3DCGアニメも作ってたっけ。

原作は、日本国内では有名な児童文学作品、「冒険者たち」。ロングセラーで、大昔に手描きアニメで映像化もされたほどの人気作。自分も小学生の頃に、学校の図書館で原作を読んだ記憶があったりして。

感想としては…。映像面に関しては、このぐらいのレベルで作れるならもう十分だなと。さすがに、予算も何もかも違うPIXARやディズニー作品と比べちゃいけないだろうけど、それでもフツーに見れる映像になってた印象。残る課題は、脚本、コンテ、演出だろうなと。いやまあ、そのあたりは3DCGアニメに限った話でもないけれど。

バトルのクライマックスシーンは見ていて結構盛り上がった印象。 ロケットのようにツッコんでいくアレが良い。前半でそういうシーンを見せてたあたりは伏線だったのだなと後から気づいて感心したりもして。

キャラデザに関しては、せっかくヒロインを髪の毛付きにして人間らしい見た目にしていたことだし、主人公や仲間達もそれらしい髪の毛をつければよかったのにと思ったり。主人公とヒロインが並んだ際に、両方ネズミのはずなのに、どうも違和感があって。なんでだろうと考え込んだけど、人間に寄せた頭部と動物に寄せた頭部が並んでしまってるからではないか、主人公側もヒロインのソレに寄せてしまえば良かったのに、と。でもまあ、おそらく、手描きアニメ版の見た目や、超リアルな見た目等、色んな方向性を散々検討した末にあのキャラデザになったのだろうし、スタッフ的にはアレで正解なんだろうなあ。

ラストのあたり、自分が読んだ原作のソレとは違っていたのだけれど、もしかして原作にも色んな版がある・時期によって改変されているのだろうか。それとも、ファミリー向け・アメリカ市場を狙ったので、ラストを改変したのだろうか。

ノロイの演技が実に気味悪くて非常にイイ感じだったのだけど、中の人が野村萬斎氏だったのだな…。子供さんが見たら軽いトラウマになりそうなノロイ像はグッド。また、主人公の仲間達も、池田秀一氏、大塚明夫氏、野沢雅子氏と、声優陣が豪華な顔ぶれだったので、安心して視聴できたあたりもイイ感じ。

さておき。ググってみたら、制作に20億円かけたのに、最終興収は3億円だそうで。厳しい。せめて次作に活かせる技術を何かしら得られていたらいいのだけど…。

2019/03/07(木) [n年前の日記]

#1 [pc] メインPCのシステムドライブをSSDにした

今まで自分のメインPCは、Windows 10 のシステムドライブをHDDに置いていたのだけど。正月に弟が持ってきてくれた中古のSSDにシステムドライブを移動してみたり。

移行先のSSDは、SANDISK SSD PLUS SDSSDA-240G-J26。240GB。2.5インチHDDケース、LOGITEC LGB-PBPU3 (USB3.1 Gen1(USB3.0)) に入れて、USB3.0で接続。

_LGB-PBPU3U3 - ロジテック株式会社

SSD の固定は、2.5 → 3.5インチ変換ブラケット、Owltech OWL-BRKT04(B) を使用。

_Owltech OWL-BRKT04 2.5"→3.5"サイズ変換ブラケット

M/B は、Intel DH67BL。

システムドライブのコピー(クローン)作業は、EaseUS Todo Backup Free 11.5 を使わせてもらった。左側のアイコン一覧の中にシステムクローンというアイコンがあるのでソレをクリック。

移行先のSSDは NTFSでフォーマットしてパーティションを作っておいたのだけど、EaseUS Todo Backup Free から「未使用領域が無くて作業できないよ」と怒られた。どうやらまるっと未使用領域にしておかないとクローンできない模様。Windows10 のディスク管理からSSD上の該当パーティションを削除して作業を続行した。

HDD上のシステムドライブは 240GB前後だけど、SSD のほうがビミョーに容量が少なかった。が、EaseUS Todo Backup Free は 40GB前後の空き容量を30GB程度に減らしながらクローンしてくれた。素晴らしい。

EaseUS Todo Backup Free のシステムクローンは、システムドライブと、システムドライブの前に置いてあるパーティションの2つをクローンしてくれるらしい。ありがたや。

HDDが遅いから、きっとめちゃくちゃ時間がかかるだろうと思っていたけれど、1時間ちょっとでコピーできた。こんなに早くコピーできるなら、さっさと作業しておけばよかった…。

PCケースを開けてSSDを固定。SATAケーブルで接続。 SATAケーブルは、部屋に転がってた M/B GIGABYTE A75M-UD2H 付属のケーブルを発掘して使った。

電源を入れたらすんなり起動してくれた。HDD上のDドライブが違うドライブレターになって面倒臭いことになるのかなと予想していたけれど、幸いDドライブのままだった。助かった。

他のパーティションは、今までと違うドライブレターに割り当てられていた。 Windows 10 のディスクの管理で、それぞれを後ろのほうのドライブレターに変更。

少し使ってみたけれど、再起動が体感でも圧倒的に速くなった。HDDオンリーでは5〜6分経たないとHDDアクセスが落ち着かなかったのに、SSD導入後は1分ぐらいで落ち着くようになった。SSDってスゴイ…。

2019/03/08(金) [n年前の日記]

#1 [movie] 「カメラを止めるな!」を視聴

TVで放送されてたので見てみたり。口コミで人気が広がった低予算映画、という説明でいいのだろうか。

面白かった。たしかに口コミで人気が出そうな内容。

最後のアレが上手いなと。 映画制作を見事に喩えるソレ。唸ってしまった。アレは上手い。

ジャンルとしては何になるんだろう。 コメディミステリーとでも言えばいいのだろうか。

2019/03/09() [n年前の日記]

#1 [prog] Windows用のスクリーンセーバーの作り方を少し調べていたり

なんとなく、Windows用のスクリーンセーバーの作り方を調べていたり。Python等のLLで作れたりしないかなと。

Processing で作る事例も見かけたけれど、Windowsのシステムフォルダ内に、ライブラリ関連ファイルを色々突っ込んだフォルダを作らなきゃいけないっぽいのがなんだかアレだなと。スクリーンセーバーは、exeが1ファイル、程度になってないと、気分的にちょっと…。

2019/03/10() [n年前の日記]

#1 [anime] 「4週連続スペシャル スーパー戦隊最強バトル!!」を視聴

ルパパトが終わってから、戦隊のレッド相当が5人出てきて活躍する話が4週連続で放送されたのだけど、最終回まで視聴。

結構面白かった。お祭り企画っぽい感じでグー。演じてた役者さんもイケメン揃いだし、昔に比べたら演技が上手くなっていた気がする。まあ、1年間演じた方々ばかりだから、上手くて当然か…。

ゴーカイジャーを担当した荒川稔久氏の脚本のせいか、キャラクターの描写も比較的バッチリだった印象。

2019/03/11(月) [n年前の日記]

#1 [pc] 親父さんPCのSSDを交換

親父さん用PCに積んであるSSDを、弟が正月に持ってきてくれたSSDに交換。


USB3.0接続2.5インチHDDケース LOGITEC LGB-PBPU3 と、EaseUS Todo Backup free 11.5 を使ってシステムクローンをした。

交換後に気がついたけど、容量が少ないSSDに交換してしまったのだな…。まあ、空き容量もまだあるようだし、すんなり起動してくれたし、特に問題は無いだろう…。

交換前のSSDは転送エラーが大量に出ていたけど、この交換作業で不安定な動作が減ってくれればいいのだけど。

#2 [pc] 動作が怪しいSSDを2.5インチHDDケースに入れて少し調べた

弟が正月に持ってきてくれた中古SSD、PLEXTOR PX-256M2P (256GB) を、2.5インチHDDケース、LOGITEC LGB-PBPU3 に入れて、使えそうか確認することに。弟の話では、動作が何か怪しいSSDらしくて。一部の領域が壊れてる気配があるとかなんとか。

そういえば、親父さん用PCに今まで積んでたSSDも PLEXTORブランドなのだけど、結構怪しいブランドなのだろうか。

状態を確認。 :

以下の記事を参考に、MiniTool Partition Wizard なるソフトをインストールして、サーフェステストとやらをしてみた。

_SSDのエラーチェックが出来るフリーソフト | パソBlog
_MiniTool Partition Wizard Free Edition のダウンロードと使い方 - k本的に無料ソフト・フリーソフト

読み取りエラーが発生しているようには見えないな…。

_CrystalDiskInfo を使って、状態を確認してみた。

plextor_px_256m2p_chk_ss.png

訂正不可能エラー数が 0x6B になってる。怪しい。使用済予備ブロック数も値が入ってるけど、これはどうなんだろう。

ファームウェアを更新したい。 :

ファームウェアは 1.08 が入ってたけれど、最新版(最終版)は 1.09。

_Plextor SSD Storage Solutions | Support | ダウンロード

ファームウェアの更新方法を調べてみたところ、iso をCD-Rに焼いて、PCをCD-Rで起動すると、SATA接続されてるSSDが自動検出されてファームウェア更新がされるようで。

おそらく、USB接続外付けケースに入れたSSDでは検出できない可能性がありそうだなと。しかし、ファームウェアを更新するためだけにPCケースを開けてSSDを接続するのも、なんだか面倒臭い。

PCケース前面にSATA関連コネクタが出ていればいいのに。 :

足元に置いてあるサブPCの背面から、SATAケーブルとSATA電源ケーブルを出してあることを思い出して、ひとまずそこにSSDを接続してファームウェア更新作業をしてみることにした。

PCケースを足元から引っ張り出して、蓋を開けずに済むあたりは楽だけど、しかし、ケーブルが短くて、接続作業が面倒臭い。机の下に入って数分ほどジタバタ。シンドイ。

こんな時、PCケース前面(フロント)に、SATAコネクタとSATA電源コネクタが出ていれば、作業が楽なのだけどな。ドライブトレイにSATA関連コネクタ/ケーブルを出してしまう製品は無いだろうかとググったり。まあ、無いけれど。

もっとも、考えてみれば…。

日常的には、USB3.0接続の外付けHDDケースがあれば作業が済みそうだし。ファームウェア更新等の作業をする時だけ、SATA接続が要求されるわけだけど、これがもし、SSD等をPCケース内に内蔵して使う予定であれば、どうせSATA接続しちゃうから問題にならないし。

各種メンテナンス作業を頻繁に行うなら、まな板ケースでPC自作をするほうがメリットもありそうだし。

あるいは、2.5インチHDD/SSDに対応したリムーバブルケースをドライブトレイに入れてしまうのもアリだろうか。そのほうが見た目も奇麗だし、入れ替え作業も楽だよなと。

そのように考えていくと、フロントにSATA関連端子を出したい、という要望は、ほとんど出てこない気がする。そりゃ商品化されないわなと思えてきたり。

などと思っていたものの。ググってたら、そういう製品があった。

_TK-SATAFR【3.5インチベイ用シリアルATAコネクタ】 - サンワサプライ株式会社

さすが、サンワサプライ。

USBメモリから起動してファームウェア更新。 :

ファームウェア更新用の iso を CD-Rに焼くのは面倒なので、Rufus を使って、USBブートができるUSBメモリを作成。

_Rufus - 起動可能なUSBドライブを簡単に作成できます

USBメモリのドライブレターとisoを選択するだけで作成できた。ありがたや。

USBメモリから起動して、すんなりファームウェアを更新できた。

ファームウェア更新後にチェック。 :

ファームウェア 1.09 に更新後、CrystalDiskInfo でチェック。

plextor_px_256m2p_chk_ss2.png

表示される情報が増えた。しかし、利用可能な予備領域が…。もしかして、これはかなり危ないのかな…。

2019/03/12(火) [n年前の日記]

#1 [linux] 手持ちのLinux機をいくつか起動してメンテナンス

手持ちのLinux機をいくつか起動してパッケージを最新に。

結構大量のパッケージが更新された。つまりはそれだけ使ってなかったわけで。

2019/03/13(水) [n年前の日記]

#1 [windows] VMware Playerをアップデートしたけどダウングレードした

Windows10機にインストールしてあった VMware Player 12 を 15 にアップデートしたけれど、Windows98 のHDDイメージが起動しなくなってしまった。そもそも、VMware Player 12 では動くけど、14 では動かないことを忘れてた。VMware Player 15 をアンインストールして、12 を再インストール。

Windows98のイメージは動くようになったけど、Ubuntu 18.04 LTS のイメージが動かなくなってしまった。起動時に四角い文字がずらずら出たまま止まってしまう。面倒臭くなったので、イメージを削除して、Ubuntu 18.04.2 LTS をインストールし直し。

Ubuntu 18.04.2 LTS をインストールしたものの。 :

Notoフォントを更新しようとしたら、ダウンロードがまったく進まず。2時間たっても終わらない。やるんじゃなかった。

xubuntu-desktop をインストールしようとしたら競合がずらずら。xserver-xorg と xserver-xorg-hwe-18.04 が競合してるとかで。

2019/03/14(木) [n年前の日記]

#1 [pc][linux][ruby][gosu] VMware Player上でUbuntuをインストールして色々試していたり

Windows10 x64 + VMware Player 12上で Ubuntu 18.04 LTS をインストールして色々試しているところ。

xubuntu-desktopがインストールできなかった件。 :

Ubuntu 18.04.2 LTS の iso を使ってインストールした際に、xubuntu-desktop が競合だらけでインストールできなかった件だけど。

Ubuntu 18.04.2 ではなく、Ubuntu 18.04.1 日本語 Remix の iso を使ってインストールした環境なら、xubuntu-desktop がすんなりインストールできた。

どうやら Ubuntu 18.04.2 は、*-hwe という、比較的新しいハードウェアにも対応したというパッケージが追加だか標準だかになったらしいけど。どうもそれが最初から入ってると競合が起きまくる予感。Ubuntu 18.04.1 は、そのあたりがまだ入ってないので、競合が起きないのではないかなと。

おそらく、Ubuntu をインストールしながら、xubuntu-desktop をインストールしようとするユーザがほとんど居なくて、不具合に気づいてないのかなと。

考えてみたら、Xubuntu を使いたいなら、最初から Xubuntu の iso を入手して、ソレをインストールするわな…。「Ubuntu に、わざわざ xubuntu-desktop をインストールするの? 意味が分からない」とか言われそう。

SSDにインストールしたら起動が爆速になった。 :

先日動作を確認した、ちょっと状態・動作が怪しいSSDが手元にあるわけだけど。なんだかもったいないので、試しに VMware の仮想PCイメージを保存してみたところ、HDDにインストールした場合と比べて起動速度が体感で2倍近く速くなった。なんだかあっという間に起動する。SSDってスゴイ。

しかし、SSDに書き込んだのはいいけれど、そのことでSSDの状態が悪化してないだろうか。不安になって何度か確認したけれど、SSDの健康状態は、94%のままで変わらず。少し使うぐらいなら、状態は急に変わらないっぽいなと。

せっかくだから、仮想PCのイメージは、このSSDの中に入れておこう…。ダメになっても、HDDにインストールし直せばいいし…。

gosuをインストール。 :

せっかくだから、Windows10 x64 + VMware Player 12 + Ubuntu 18.04 LTS 上に、Ruby で2Dゲームが作れるライブラリ、gosu をインストールしてみたり。

_Getting Started on Linux - gosu/gosu Wiki

昔触った際には、サウンドを鳴らすとウインドウを閉じた際にエラーだか警告だかが表示されていた気配があるのだけど。gosu のバージョンが 0.10.x から 0.14.5 に上がったせいか、あるいは、Ubuntu 16.04 から 18.04 に上がったせいか、その手のエラーは出なくなっていた。

ただ、相変わらず、.ogg のループ再生がおかしいまま。ループの繋ぎ目が不自然な形で再生される。

pyxelをインストール。 :

Python 3.x で2Dゲームが作れるライブラリ、pyxel もインストール。

相変わらず、VMware Player 上では、画面クリアが正常に動作していない。でもまあ、コレは、実機で動かすと正常動作することが分かってるので…。

#2 [ruby] RubyスクリプトがUbuntu上でエラーを出す原因が分かった

WIndows上で書いた Rubyスクリプトを、Ubuntu 18.04 LTS + Ruby 2.5.1 上で動かした際、警告だかエラーだかが表示される件。原因が分かった。改行コードが CRLF になっているのがマズいのだな。dos2unix hoge.rb で、改行コードを LF にしたら、エラーが出なくなった。

また、スクリプト1行目の記述も、
#! /usr/bin/env ruby
にしてみたり。たぶんこのほうがいいのだろう…。まあ、これだと、Windows上で動かそうとした際におかしなことになったりする場合もあるけれど。 *1
*1: エディタによっては、1行目を見てコマンドを呼び出す拡張があったりして、そういう環境では困るというか。まあ、そんなエディタや拡張は使わなければいいだけの話だけど。Mac/*NIXユーザが書いたエディタ/拡張は、そういう仕様になりがちな印象もあるなと。*NIX文化圏では、1行目はそういう使い方をするのが当然だし。

2019/03/15(金) [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、20:14-23:00まで自宅サーバを止めてました。申し訳ないです。

結構近くに落ちたようで、バリバリという音が。

#2 [ruby][gosu] gosu関係を試したり

Windows10 x64 + VMware Player 12 + Ubuntu 18.04 上で Ruby 2.51. p57 + gosu 0.14.5 の動作確認中。

Windows側に保存されているスクリプトは改行コードが CRLF なので、LF に変換したり。MSYS2 の中に dos2unix が入っているので、それを利用。cd /c/hoge/fuga で Windows側のディレクトリに変更できる。dos2unix *.rb で改行コードを変更。

一応、動作確認に使ったスクリプトを github にアップロードしておいた。

_mieki256/gosu_examples_mieki256: Ruby + Gosu examples by mieki256.

opengl関係はちょっとアレ。 :

gosu + opengl + glu + glut が動作するか試していたのだけど。

現行の glut (gem) は、Ruby 2.5.x に対応していないようで。Ubuntu 18.04上の Ruby は 2.5.1 なので、gem install glut ではエラーが出てしまう。Windows側の Ruby 2.4.5 なら gem install glut が通って動作確認ができた。

_larskanis/opengl
_invalid operation for glEnd - Issue #18 - larskanis/opengl

opengl ライブラリの作者さんは忙しくて対応できない、と言ってるように見える。最近の Ruby だか OpenGL を使いたいなら、opengl-bindings に移行したほうがいい、とも言ってるようで。

_vaiorabbit/ruby-opengl

Windows10x 64 + Ruby 2.5.3 p105 32bit 上で、opengl-bindings 1.6.8 をインストールして動作確認してみた。glfw3.dll と freeglut.dll が必要になるらしいので、以下からDL。zip の中から mingw版のdllを探して、スクリプトと同じ場所にコピー。

_GLFW - Download
_freeglut Windows Development Libraries

Ruby2.5.xインストールフォルダ\lib\ruby\gems\2.5.0\gems\opengl-bindings-1.6.8\sample\ の中に、simple.rb と simple_glut.rb があるので、動作確認できる。

  • simple.rb は、三角形が表示されて、グルグル回ってそれっぽく動いた。
  • simple_glut.rb のほうは、異様な速度で三角形がグルグル回った後ピタリと止まってウインドウが落ちてしまった。

2019/03/17追記。 :

simple_glut.rb は、タイマーで呼び出す指定をする際に、0ms を指定しちゃってるのがアレっぽい。16ms を指定するように書き換えたら、simple.rb と似たような感じで動作してくれた。

  glutTimerFunc(0, GLUT.create_callback(:GLUTTimerFunc, method(:timer).to_proc), value)
↓
  glutTimerFunc(16, GLUT.create_callback(:GLUTTimerFunc, method(:timer).to_proc), value)

2019/03/16() [n年前の日記]

#1 [ubuntu][ruby] Ubuntu 18.04上で複数のRubyを共存

Ubuntu 18.04 上では標準で Ruby 2.5.1 がインストールされるのだけど。Ruby 2.4.x をインストールして動作確認したい場面が出てきたので、バージョンが異なる複数のRubyを共存させる方法があるのか調べたり。

Windowsの場合なら、 _pik_uru を使って複数のRubyを共存させて切り替えて使うことができるけど。*NIX の場合は、rbenv を使うのが一般的らしい。

_rbenv/rbenv: Groom your app’s Ruby environment

Ubuntu なら、apt でインストールできるパッケージが用意されているようだけど。試したところ、設定方法が今一つ分からなくて。

ググった感じでは、最新の rbenv を github から clone して導入する場合がほとんどらしいので、それらに従って作業し直した。

rbenvのインストール。 :

まず、rbenv の動作に必要になるらしいパッケージをインストール。
sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev
sudo apt install libreadline-dev
libreadline-dev と libreadline6-dev がダブってる感じがするのだけど、いいのだろうか。

github から rbenv を clone
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

~/.bashrc だの ~/.bash_profile だのに設定を書き込み。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

ログアウトして、再度ログイン。

状態を確認。
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
Checking for `rbenv' in PATH: /home/USERNAME/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /home/USERNAME/.rbenv/plugins/ruby-build/bin/rbenv-install (ruby-build 20190314-2-g5a7c1e4)
Counting installed Ruby versions: 1 versions
Checking RubyGems settings: OK
Auditing installed plugins: OK
「OK」がたくさん表示されてるから、これでいいのだろう…。

rbenvの使い方。 :

インストールできるRubyのバージョンを一覧表示。
rbenv install --list
rbenv install -l

Ruby 2.4.5 をインストールしてみる。結構時間がかかる。
rbenv install 2.4.5
rbenv rehash

インストールできたRubyのバージョンを一覧表示。
$ rbenv versions
* system (set by RBENV_VERSION environment variable)
  2.4.5

現在のRubyのバージョンを表示。
$ rbenv version
system (set by RBENV_VERSION environment variable)

異なる Ruby のバージョンに切り替えてみる。
$ rbenv shell 2.4.5

$ rbenv version
2.4.5 (set by RBENV_VERSION environment variable)

$ ruby -v
ruby 2.4.5p335 (2018-10-18 revision 65137) [x86_64-linux]

元のバージョンに戻す。
$ rbenv shell system

$ rbenv version
system (set by RBENV_VERSION environment variable)

$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]

切り替える際は、global / local / shell の指定が使えるらしい。
  • rbenv global 2.4.5 : デフォルトで使うRubyのバージョンを指定。
  • rbenv local 2.4.5 : カレントディレクトリ内で使うRubyバージョンを指定。
  • rbenv shell 2.4.5 : 現在のシェルで使うRubyバージョンを指定。

参考ページ。 :


2019/03/17() [n年前の日記]

#1 [gosu][ruby] gosu + opengl-bindingsを試していたり

せっかくだから、gosu + opengl の組み合わせだけではなく、gosu + opengl-bindings の組み合わせでもスクリプトが動くように修正作業をしているところ。

環境は以下。
とりあえず、以下のスクリプトは、どちらでも動くように修正できた。

_gosu_examples_mieki256/16_gosu_opengl_test1.rb
_gosu_examples_mieki256/17_gosu_opengl_test2.rb
_gosu_examples_mieki256/opengl_glut_only_test.rb

opengl-bindingsに対応させる際の注意点。 :

opengl 用のスクリプトを、opengl-bindings に対応させる際のポイントを一応メモ。

まず、require や include の書き方が変わる。

opengl の場合。
  # gem install opengl glu glut

  require 'gl'
  require "glu"
  require "glut"

  include Gl
  include Glu
  include Glut

opengl-bindings の場合。
  # gem install opengl-bindings

  require 'opengl'
  require "glu"
  require "glut"

  OpenGL.load_lib
  GLU.load_lib
  GLUT.load_lib

  include OpenGL
  include GLU
  include GLUT

また、glTranslate() や glRotate() も変わる。

opengl は glTranslate() や glRotate() と書けるけど。
glTranslate(x, y, z)
glRotate(angle, 0.0, 1.0, 0.0)

opengl-bindings は glTranslatef() や glRotatef() と書かないといけない。
glTranslatef(x, y, z)
glRotatef(angle, 0.0, 1.0, 0.0)

後者の書き方をすればどちらでも動くので、全部後者で統一しちゃってもいいのかもしれない。

また、opengl は配列をそのまま渡せるけれど。
glLightfv(GL_LIGHT0, GL_DIFFUSE, [1.0, 1.0, 1.0, 1.0])

opengl-bindings は、場合によっては pack() を使わないとダメらしい。
glLightfv(GL_LIGHT0, GL_DIFFUSE, [1.0, 1.0, 1.0, 1.0].pack("f*"))

以下のやり取りで解説されてた。

_glLightfv fails - Issue #28 - vaiorabbit/ruby-opengl

ただ、試したところ、毎フレーム呼ばれる処理の中で pack() で変換していると、処理時間がかかってしまって、描画までおかしくなるようで。初期化処理等で、できるだけ事前に pack しておいて、毎フレーム呼ばれる処理の中では pack 済みのデータを指定する、といった工夫が必要になるようだなと。

ライト設定でハマった。 :

以下のスクリプトを opengl-bindings に対応させようとして修正した際に、ライトの設定でハマったり。

_gosu_examples_mieki256/01_gosu_opengl_11.rb
_gosu_examples_mieki256/02_gosu_opengl_15.rb

スクリプトを実行するたびに、何故かオブジェクトが真っ暗になったり、明るくなったりする。動作が不定。条件が分からない。

色々ググってるうちに、なんとなく分かってきた。ライトの位置、もしくは方向を指定する際に、[x,y,z] を指定していたけど。最後に w も追加して [x,y,z,w] を指定しないと動作が不定になるっぽい。

# Light
LIGHT_POS = [1.0, 2.0, 4.0]            # 位置
LIGHT_AMBIENT = [0.5, 0.5, 0.5, 1.0]   # 環境光
LIGHT_DIFFUSE = [1.0, 1.0, 1.0, 1.0]   # 拡散光
LIGHT_SPECULAR = [1.0, 1.0, 1.0, 1.0]  # 鏡面光

LIGHT_POS_PACK = LIGHT_POS.pack("f*")
LIGHT_AMBIENT_PACK = LIGHT_AMBIENT.pack("f*")
LIGHT_DIFFUSE_PACK = LIGHT_DIFFUSE.pack("f*")
LIGHT_SPECULAR_PACK = LIGHT_SPECULAR.pack("f*")

...

    # opengl-bindings
    glLightfv(GL_LIGHT0, GL_AMBIENT, LIGHT_AMBIENT_PACK)
    glLightfv(GL_LIGHT0, GL_DIFFUSE, LIGHT_DIFFUSE_PACK)
    glLightfv(GL_LIGHT0, GL_SPECULAR, LIGHT_SPECULAR_PACK)
    glLightfv(GL_LIGHT0, GL_POSITION, LIGHT_POS_PACK)

    glEnable(GL_LIGHTING)    # ライティングを有効化
    glEnable(GL_LIGHT0)      # GL_LIGHT0 を有効化
LIGHT_POS = [1.0, 2.0, 4.0]            # 位置
↓
LIGHT_POS = [1.0, 2.0, 4.0, 0.0]       # 位置

おそらくだけど、OpenGL側は [x, y, z, w] の4つが指定されてることを前提にして動いてるのに、スクリプト側では [x, y, z] の3つしか渡してなかったから、最後の w は謎の領域から謎の値を読んで動作していたのではないかと。スクリプトを実行するたびに、謎領域のアドレスも値も変化してしまうから、明るくなったり暗くなったりしていたのかなと。

ちなみに、glLightfv(GL_LIGHT0, GL_POSITION, [x, y, z, w]) の w は、0.0 なら平行光源、それ以外なら点光源ということになってる模様。たぶん。

_光源の設定 - OpenGL de プログラミング
_OpenGL ライティング(Lighting)

opengl-bindingsが落ちる。 :

Windows10 x64 + Ruby 2.5.3 p105 上で、以下のスクリプトを opengl-bindings で動かすと、数秒後に Segmentation fault で落ちてしまう。

_opengl_glut_only_test.rb

opengl + glu + glut で動かした場合は落ちないのだけどな。

> ruby opengl_glut_only_test.rb
load opengl-bindings
D:/Ruby/Ruby25/lib/ruby/gems/2.5.0/gems/opengl-bindings-1.6.8/lib/glut.rb:421: [BUG] Segmentation fault

ruby 2.5.3p105 (2018-10-18 revision 65156) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0004 p:---- s:0016 e:000015 CFUNC  :call
c:0003 p:0021 s:0012 e:000011 METHOD D:/Ruby/Ruby25/lib/ruby/gems/2.5.0/gems/opengl-bindings-1.6.8/lib/
glut.rb:421
c:0002 p:0393 s:0006 e:000005 EVAL   opengl_glut_only_test.rb:154 [FINISH]
c:0001 p:0000 s:0003 E:000100 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
opengl_glut_only_test.rb:154:in `<main>'
D:/Ruby/Ruby25/lib/ruby/gems/2.5.0/gems/opengl-bindings-1.6.8/lib/glut.rb:421:in `glutMainLoop'
D:/Ruby/Ruby25/lib/ruby/gems/2.5.0/gems/opengl-bindings-1.6.8/lib/glut.rb:421:in `call'

-- C level backtrace information -------------------------------------------
C:\WINDOWS\SYSTEM32\ntdll.dll(ZwWaitForSingleObject+0xc) [0x7796a8fc]
C:\WINDOWS\System32\KERNELBASE.dll(WaitForSingleObject+0x12) [0x76d445f2]
C:\Ruby\Ruby25\bin\msvcrt-ruby250.dll(rb_print_backtrace+0x40) [0x62a8b220]
C:\WINDOWS\SYSTEM32\ntdll.dll(RtlCaptureStackContext+0x1e521) [0x7799da71]

-- Other runtime information -----------------------------------------------

...
_全エラーメッセージ - error.txt

なんでだろうな。

VMware Player 12 + Ubuntu 18.04 + Ruby 2.5.1 p57 + opengl-bindings 1.6.8 なら落ちない。Windows上でだけ落ちるということかなあ。

teapot をワイヤー表示するとすぐに落ちるけど、ソリッド表示にしたらちょっと落ちにくくなった気もした。でもまあ、結局は落ちるけど。

2019/03/18(月) [n年前の日記]

#1 [ruby][gosu] gosu + opengl-bindings を試しているところ

手元のスクリプトは Ruby + gosu + opengl を前提にして書いていたけど、せっかくだから gosu + opengl-bindings でも動くように修正しているところ。

作業をしていてちょっと気になる箇所が出てきた。OpenGL関連の処理部分で自作(?)シェーダを動かしてしまうと、その後の gosu側の描画がおかしくなる模様。例えば、OpenGL で何かしらを描画したその上に、gosu側でテキストを描画すると、テキストが正常に描画できなくなるようで。

おそらく、gosu側で使うはずの、本来のシェーダを書き換えてしまっているから、そういう症状が発生してしまうのではないかなと。であれば、全てを OpenGL で描画してしまうか、あるいは OpenGL で描画し終わった後に、gosu側相当のシェーダを作っておいて指定し直してから、gosu側に処理を返す、といったことになりそうな。

自作シェーダを使わないなら、そういう症状は出ないような感じがする。フツーにテキスト表示ができたので。

2019/03/19(火) [n年前の日記]

#1 [ruby][gosu] gosu + opengl-bindingsをまだ試していたり

gosu + opengl で動いてたスクリプトのほとんどを、gosu + opengl-bindings にも対応させることができた。

_gosu_examples_mieki256/opengl at master - mieki256/gosu_examples_mieki256

ソース内は条件分岐だらけで、見通しが悪くなってしまった。でもまあ、どのあたりで違う記述をすればいいのか、多少は分るだろうから、これはこれで。

基本的には、「Ruby + opengl-bindings を使う場合、配列を渡すときは pack して渡す」ぐらいのことを意識しておけば、ある程度は対応できそうな印象。

#2 [zatta][neta] pixivで公開した画像は著作権を放棄していることになるのだろうか

たまたまNHKを流しっぱなしにしていたら、法律関係の番組が ―― 「四角い○○が丸く収めます」がキャッチコピーの、あの番組が流れ始めて、そこでちょっと気になる事例が紹介されてた。

事例としては…。あるお店が、店の前に看板を出していたら、どこかの誰かが、その看板に勝手に猫の絵を落書きしていった。すると、近所やネットで、その猫の絵がイケてると話題になり、とうとう「10万円出すからこの絵を買い取らせてほしい」と申し出る人が出てきた。さて、店主は、この猫の絵を売ってもいいのだろうか? みたいな話で。

「売ることはできない」派の主張は以下の通り。

猫の絵は、その絵を描いた人に著作権があるのだから、店主の一存で勝手に売るわけにはいかない。描いた人に「売っていいか?」と許可を取る必要があるだろうし、売れた場合も、その報酬は描いた人に渡すべきで、店主はせいぜい謝礼を貰える程度ではないか、という主張で。

しかし、弁護士先生の回答は ―― 「売ることができる」。

店の看板は、店の一存で自由に処分することができる。店側が自由にできることが明らかに分かっている場所に絵を描いたのだから、この場合、絵を描いた人は、著作権を放棄しているものとして扱われる。著作権が放棄されているから、店側の一存で、その絵は自由に処分することができる。もちろん売っても構わない。というロジックで。

てな話を目にして、なんだか悩んでしまった。このロジックが通るなら、Web上の各サービスってヤバいんじゃないかと。

Webの場合も同じだったらどうしよう。 :

例えば、絵描きさんが自作の絵をアップロード・公開できる、pixiv というサービスがあるわけだけど。

pixiv は、pixiv を運営してる会社の一存で、そのサービスを自由に処分することができる。先ほどの事例で言えば、看板に相当するよなと。そんなところに、絵を投稿したということは…。先ほどの看板の事例に当てはめて考えたら、これは絵描きさんが著作権を放棄しているものとみなされる、そんな場面だったりしないかなと。

Twitter も同様だろう。Twitter は、企業の一存で自由に処分できる場所なのだから、そんな場所に自作画像を投稿した時点で、ユーザはその画像に対して著作権を放棄しているとみなされてしまうのではあるまいか。

なら、Webサイトを公開できる系のサービスと契約して、昔ながらの公開手法 ―― html と画像ファイルをアップロードすれば著作権を放棄せずに済むのだろうか。そうはならないだろう。Webサイト公開系のサービスだって、運営会社の一存で処分できる場所なのだから、pixiv や twitter と同じ状況と言えそうな。

絵描きさんの感覚的には、「俺が描いた画像なんだから、当然、著作権は俺にあるだろう」と思えるわけだけど。どうも、日本の法律では、そうとは言えない状態になっている、そんな気配がしてきたり。

まあ、各サービスの規約内容によって、そのあたり違ってくるのかなと思ったりもしますが。このあたり、どうなってるんだろうなあ。

2019/03/20(水) [n年前の日記]

#1 [ruby][gosu] gosu + opengl-bindings で動くようにスクリプトを修正

gosu + opengl の書き方をチュートリアルっぽい流れで紹介してくれてる、gosu-opengl-tutorials というサンプルスクリプト群があるのだけど。

_tjbladez/gosu-opengl-tutorials: Fun with opengl, gosu and ruby

せっかく opengl-bindings を試したことだし、gosu + opengl-bindings でも動くように fork してみたり。

_gosu_examples_mieki256/gosu-opengl-tutorials_fork at master - mieki256/gosu_examples_mieki256

ハマった個所。 :

glGetTexImage() を opengl-bindings で呼び出す際の書き方がわからなくて、ちょっとハマった。

_gosu_examples_mieki256/lesson07.rb at master - mieki256/gosu_examples_mieki256

opengl の場合は以下のように書けばいいのだけど。

      # opengl
      texture = glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_FLOAT)
      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR)
      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST)
      gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 128, 128, GL_RGB, GL_FLOAT, texture)

結果的に、opengl-bindings の場合は、以下のように書いたら動くようになった。
      # opengl-bindings
      w, h = @minimap.width, @minimap.height
      float_size = [0.0].pack("f").size
      texture = ' ' * (float_size * 4 * w * h)
      glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_FLOAT, texture)
      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR)
      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST)
      gluBuild2DMipmaps(GL_TEXTURE_2D, 3, w, h, GL_RGB, GL_FLOAT, texture)

少し説明すると…。

glGetTexImage() の最後の引数には、テクスチャを格納する領域のアドレスを渡してやらないといけないので、以下の式で領域のバイト数を求めて…。
float1つ分 x RGBAの4つ分 x テクスチャの横ドット数 x 縦ドット数

このサイズ分の文字列が入る変数を作って…。
      w, h = @minimap.width, @minimap.height
      float_size = [0.0].pack("f").size
      texture = ' ' * (float_size * 4 * w * h)

その変数を渡してやる。みたいな感じ。だと思う。たぶん。
      glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_FLOAT, texture)

適切なサイズを確保できてないと、何も言わずにRubyが落ちるので、ちょっと気を付けないといけない。

2019/03/21(木) [n年前の日記]

#1 [ubuntu][linux] Rangerを少し試した

Linux等の端末上で使える、Ranger というファイラーがあるそうで。Python で実装されてるらしい。

_コマンドラインで動かすファイルマネージャrangerの設定 - Qiita
_CLIファイルマネージャrangerの基本設定 - Qiita
_CLI で Linux ファイルマネージャ ranger を使うことのメモ | Jenemal Notes

Ubuntu Linux 18.04 上で、ファイルを指定してアレコレするのがちょっと面倒になってきたので、インストールして少し試用。

sudo apt install ranger w3m w3m-img
$ ranger --version
ranger-stable 1.8.1

Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15) 
[GCC 7.3.0]
w3m と w3m-img は、画像プレビューを有効にしたい場合には必要らしい。

設定ファイルを作成して、設定を変える。
ranger --copy-config=all
vi ~/.config/ranger/rc.conf

画像プレビューをしたいので、以下の個所を探して、false を true に変更。
set preview_images true

set draw_borders true

エディタの設定で悩んだ。 :

ranger を最初に起動した際、.rb を編集しようとした時に、うっかりエディタとして nano を選んでしまったのだけど。vim に設定しなおす方法が分からなくて悩んだり。

環境変数 EDITOR とか、VISUAL とか、そのあたりが絡んでると巷の解説記事には書いてあるけれど、手元の環境ではそんな変数を指定してないわけで。なのにどうして nano が呼び出されてしまうのか。

以下の記事が参考になった。

_自動で起動されるエディタを nano から vim (または emacs 等) へ変更する - Qiita

Ubuntu や Debian は、select-editor というコマンドが用意されていて、それで標準のエディタが指定できちゃうらしい。~/.selected_editor というファイルに、しっかり nano が指定されてた。

以下を実行して選択し直し。
$ select-editor 

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 2

$ cat ~/.selected_editor 

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"

Windows上でも使ってみたい。 :

せっかく Python で実装されてるのだから、Windows上でも使ってみたい。試しにインストール。環境は Windows10 x64。

Python製なので、pip でインストールできるらしい。

pip install ranger-fm

しかし、ranger というファイルしか入ってない。 .bat とかじゃないのか。どうも Windows上で動かすことを前提にしていない気配がする。アンインストールした。

pip uninstall ranger-fm

MSYS2 をインストールしてある環境なので、せめてそちらでは使えるようにしてみる。MSYS2 MSYS 64bit を起動して、Python3 と pip3 をインストールしてから、ranger-fm をインストール。

pacman -S python3 python3-pip
pip3 install ranger-fm
ranger

MSYS2 MSYS 64bit上では動いてくれた。

MSYS2 MSYS 32bit上でも試そうとしたら、そもそも pip3 が正常に動いてくれなかった。
$ pip3 list

Package    Version
---------- -------
appdirs    1.4.3
packaging  18.0
pip        18.1
pyparsing  2.3.0
setuptools 40.5.0
six        1.12.0
      1 [main] python3 16408 child_info_fork::abort: address space needed by '_socket.cpython-37m.dll' (0x6D0000) is already occupied
まあ、64bit版を使えということなんだろう…。

2019/03/22(金) [n年前の日記]

#1 [emacs] NTEmacsのフォント設定を弄ってた

自分は、Windows10上でRubyスクリプトを編集する際、主に Emacs (NTEmacs) を使っているのだけど。触っていて、どうもフォントが気に入らないなと思えてきて。半角英数と日本語部分で別々のフォントを指定しているけれど、半角と全角が 1:2 の幅になってなくて、見た目がちょっと。

ということで、プログラミング向けの等幅フォント、かつ、英数文字だけではなく日本語・漢字も含まれているフォントを ―― 例えば _Ricty_Myrica_Cica などをアレコレ指定して試したり。

しかし、どれもしっくりこない。NTEmacs上ではなんだか文字がぼける。これが Mac や *NIX 上なら、それらのフォントも綺麗に表示されるらしいのだけど、Windows上では…。

結局、Consolas + _MeiryoKe_Console を指定することに。コレなら、巷の解説ページで紹介されてる設定をすることで、半角と全角をほぼ 1:2 にできるし。最初から Windows用のフォントとして作られているので、見た目もそれほど悪くない。

_フォント設定 - eggtoothcrocの日記
_emacsでプロポーショナルフォントと等幅フォントを切り替える - Qiita
_Emacs のフォント設定について - Qiita
_NTEmacs で UTF-8 な環境構築を試行錯誤 | Amrta

MSゴシックを指定するよりは、まだマシかなと…。

2019/03/23() [n年前の日記]

#1 [tv] NHKドラマ「スローな武士にしてくれ」を視聴

たまたまチャンネルを変えたらNHK-BSで放送されてたのでなんとなく視聴していたのだけど。

グイグイ引き込まれてしまった。面白い。このドラマは面白い。見れてよかった。

設定からして一風変わっているドラマというか…。4K/8Kの放送に合わせてNHKの機材自慢をしたいからパイロット映像を撮ってくれ、とのNHKからの要望で、時代劇が得意なあの有名撮影所がてんやわんや、という展開で。武士達が走り回る竹藪の上を飛行するドローン、時代劇のオープンセットの中を爆走するロボットカメラ等、どことなくSF的な光景がチラチラと挿入されて。それでいて時代劇を演じる生身の役者さん達のゴイスなアクションもガンガン披露されて。さらに、ドラマとしてもちゃんと成立していて。クライマックスでは目頭が熱く…コレはカッコイイわ…。

ハイテク+時代劇+現代ドラマがたしかに融合した、なんとも妙なドラマ。これは良い。素晴らしい。たまたまチャンネルを合わせて視聴することができて、とてもラッキーだった…。

2019/03/24() [n年前の日記]

#1 [cg_tools] Wings 3Dを少し触ってる

Wings 3D 開発版 2.2.3 が公開されてるっぽいので、試しにインストールして少し試用。

_Downloads | Wings 3D

いつものようにティーカップを作ろうとしたけど、使い方を忘れてる…。取っ手の部分はどうやって作ったっけ…。

2019/03/25(月) [n年前の日記]

#1 [ubuntu][cg_tools] Ubuntu 18.04上でflatpakを試用

VMware Player 12 + Ubuntu 18.04上で Wings3Dを使ってみたい。しかし、sudo apt install wings3d では古い版(2.1.5)しか入らない。

flatpak なるパッケージ管理システムを利用して比較的新しい版 (2.2.3) をインストールしてみる。

まずは flatpak をインストール。
sudo add-apt-repository -y ppa:alexlarsson/flatpak
sudo apt install -y flatpak
sudo apt install -y gnome-software-plugin-flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo reboot

以下にアクセスすればインストールできるパッケージを探せる。

_Flathub

Wings 3D のページは以下。

_Wings 3D - Linux Apps on Flathub

Ubuntu + Firefox でページを開いて「INSTALL」をクリック。実行を選ぶと、「ソフトウェア」が開いてインストールできる。

あるいは、以下でもインストールできるらしい。

flatpak install flathub com.wings3d.WINGS

しかし、インストールできたように見えたけど、Wings 3D が動かない。

flatpak run com.wings3d.WINGS

仕方ないのでアンインストール。

sudo flatpak uninstall com.wings3d.WINGS

エラーメッセージは以下。
$ flatpak run com.wings3d.WINGS

Gtk-Message: 05:20:32.503: Failed to load module "appmenu-gtk-module"
wings-2.2.3
Reading preferences from: /home/USERNAME/.wings3d/preferences.txt
2019-03-25T05:20:33.442074+09:00 error:
    wx: error
    message: wxWidgets Assert failure: ./src/unix/glx11.cpp(618): ""Assert failure"" in InitVisual() : Failed to get a XVisualInfo for the requested attributes.
2019-03-25T05:20:33.453077+09:00 error:
    wx: error
    message: wxWidgets Assert failure: ./src/gtk/window.cpp(4478): ""m_widget != __null"" in SetFocus() : invalid window
2019-03-25T05:20:33.453533+09:00 error:
    wx: error
    message: wxWidgets Assert failure: ./src/gtk/window.cpp(5684): ""m_widget != __null"" in SetDropTarget() : invalid window
Internal Error
Version: 2.2.3
Window: [wings,wings,<0.87.0>]
Reason: {error,{error,no_gl_context,5075},
               [{gl,rec,1,[{file,"gen/gl.erl"},{line,298}]},
                {wings_gl,init_extensions,0,
                          [{file,"wings_gl.erl"},{line,178}]},
                {wings_gl,init,1,[{file,"wings_gl.erl"},{line,49}]},
                {wings,init,1,[{file,"wings.erl"},{line,69}]},
                {proc_lib,init_p_do_apply,3,
                          [{file,"proc_lib.erl"},{line,249}]}]}

Wings 3Dの動作には以下が必要という話も見かけた。

sudo apt install libwxgtk3.0-dev

入れてみてから、再度 Wings 3D をインストールして試してみたけど変化無し。

まあ、blender が動いてるからその手の作業はできるし。Wings 3D が動かなくてもいいか…。

Pencil2Dをインストールしてみた。 :

flatpak自体がアレなのかなと不安になったので、アニメ制作ツールの Pencil2D をインストールしてみた。

_Pencil2D - Linux Apps on Flathub

flatpak install flathub org.pencil2d.Pencil2D
flatpak run org.pencil2d.Pencil2D

Pencil2D は、ちゃんと動くな…。ということは、flatpak 自体はおかしくないなと。おそらく、Wings 3D の flatpak の作り方がおかしいのだろう。

参考ページ :

#2 [nitijyou] 風呂の栓のチェーンが切れたので交換

昨晩、風呂の栓のチェーンが切れてしまって。今日、妹が代替の栓+チェーンを買ってきてくれたので、自分が交換作業をした。

排水口の直径を測ってみたら、42mmだった。妹が買ってきた栓は46mm。ちょっとだけ出っ張ってしまうけど、栓としてはちゃんと使えた。

以前、自分が代替品をホームセンターで探した際は、一種類しか無くて困った記憶があるけれど。妹の話では、ホーマックなら何種類もあったそうで。次回代替品を買う際は、42mmの品を購入しよう。と、一応こうしてメモしておくけど、メモしたことすら忘れそうだな…。

検索してみたら、前回の作業をメモしてあった。

_mieki256's diary - 風呂の栓を鎖ごと交換

前回もホーマックで買ってきたのか…。

2019/03/26(火) [n年前の日記]

#1 [pc] HDDを整理中

メインPCに、USB3.0で繋いでいる外付けポータブルHDDの空き容量が少なくなってきたので、別の外付けHDDにアレコレ移動。

とりあえず、サウンド関係のデータ ―― wav や sfz はごっそり移動。

メインPCにインストールしたフリーソフトの過去バージョンも一応手元に残してあるけど、これはさすがに古いバージョンだから使わないのではないか、と思われるのも少し削除。LibreOffice とか。

2019/03/27(水) [n年前の日記]

#1 [anime] 「夜明け告げるルーのうた」を視聴

昨日、NHK-BSで放送されてたので、録画したソレを視聴。

とんでもないアニメだった…。湯浅監督作品だからフツーじゃない出来だろうと想像してはいたけど、まさかここまでとは。素晴らしい。

手描きならではの動きが実にいい。 *1 人が描いた絵が動く、そのこと自体の面白さが、全編に渡って感じられる。それを実現するために、キャラデザをシンプルにしたり、Flash を導入して作業効率を高めようとしているのだろうなと。線を増やし過ぎたキャラデザでスタッフが延々疲弊していく深夜アニメ系とは全然違う方向性。この作品は、手描きアニメが本来進むべき道を、明るく照らしてくれている。ような気がする。

主線無しで、塗りだけで動かしてる回想シーンの映像もなんだかよかった。主線が無いアニメ映像のスタイルも、全然アリかもしれないなと。

舞台になっている町の風景も面白かった。海岸からすぐの場所に山があることで、圧倒的な高低差を感じるカットが多々。また、奥に崖や岩があることで、囲まれているからこその空間を感じたり。それら町の風景を見ているだけでも、ずっと楽しめそう。

基本設定に関しては、たしかに、宮崎駿監督作品の「崖の上のポニョ」と似たものを感じるけれど、映像にしろ、ノリにしろ、これはもう全然別物だよなと。

何より、ヒロイン(?)のルーが可愛い。気持ち悪い見た目なのに、ちゃんと可愛い。つまりは動きで可愛さを表現できてるわけで。動くことで、初めて伝わるものがある。これぞアニメ。そこが良い。素晴らしい。
*1: 「Flashを使っているから手描きアニメではない」という分類もあるみたいだけど。Flashを使っていても結局原画は手で描くわけだし、3DCGと比較すればそれはもう手描きアニメとして分類してもいいのでは、と自分は思うわけで。

#2 [anime] 「ケムリクサ」最終回1話前を視聴

録画してたソレを視聴。

(※ ネタバレしないように _もんたメソッド を使って感想をメモ。黒塗り部分はクリックすると外せます。)

スゴイ回だった。特に、 EDへの入り方が良かった。あまりに良すぎたものだから、いい歳して、思わず目頭が熱く…。そこで語られている内容云々に感動したとかそういうわけではなく、見せ方の鮮やかさ、手口の上手さに感極まってしまったというか。こういう繋げ方をするための ED映像だったのだろうか、とすら。

視覚情報を極力絞った、 シルエットのみという見せ方が、実に上手いよなと。そこで起きてることを視聴者・読者にたしかに伝えつつも、その時のキャラの表情等、細かいことは、視聴者の想像に全てを委ねなくてはいけない。視聴者一人一人が無意識に、脳内で、自分にとって理想の光景を思い描くことに繋がる。いわば視聴者全員に対してカスタマイズできている映像になるわけで。更に、周囲に何も描かないことで、視聴者の意識が状況ではなくキャラに集中する効果もありそうだし。故に、上手い。

更に、ED映像の変化が…。これまで 過去を描いていたED映像が、この回だけ、 ほんの一瞬、 未来を描き始めたあたりにゾクッとしたり。そして、ED後の、あのカット。上手い。

自分、「けもフレ1」は未見だけど、この監督さんにごっそりファンがついたのもなんだか納得したというか。

「まどかマギカ」を思い出したりもして。 :

さておき。なんとなく、「まどかマギカ」との共通点を感じたり。例えば…。

各話でどの程度、謎を提示するか、更に、どのタイミングでどの設定を開示するか、そのあたりの絶妙な調整具合とか。

最終回1話前で、 主人公以外の第三者視点で丸々一話を使って怒涛のネタ晴らしをする構成とか。更に、本編からOP/ED へと繋げつつ、OP/EDの歌詞、もしくは映像が、本編内容と重なっていることを意識させる手管とか。

ED映像で、 シルエットのみを使って、本編の展開を暗喩させる見せ方とか。

意識してるのかしてないのかは分からないけど、既存作品から学べるところはちゃんと学んでいる、そんな印象が。

余談だけど。「まどかマギカ」がヒットした後、美少女キャラが酷い目に合うアニメがポツポツ出てたけど。あくまで表面的な模倣に終わって、シリーズ構成面での手口の模倣まで試みた作品は皆無だった印象があるわけで。つまり、アニメ業界人は、お手本があってもそこから学べない ―― 学ぶとしてもせいぜい見た目しか真似できない、てな傾向があるのかなと邪推したりもして。

でも、この監督さんは、ちゃんと先人の手口を技としてゲットした。そこが偉いよなと。けれど、「まどかマギカ」の脚本を担当した虚淵氏と同様、これまたアニメ業界の主流からちょっと外れた場所に居る作家さんだったりもするわけで。

富野監督が、アニメ業界とはちょっと違うところから人材を連れてくるのって、そのへんが関係してるのかなと思えてきたり。どっぷり業界に浸ってしまっている人では、もはや変革を起こせない、新しい血を入れないと、みたいなソレなのかなと。

2019/03/28(木) [n年前の日記]

#1 [anime] 「打ち上げ花火、下から見るか? 横から見るか?」アニメ版を視聴

NHK-BSで放送されてたソレを録画して視聴。ちなみにオリジナル版は未見。

シャフト制作のアニメだけあって、映像面は比較的綺麗だった。コンテは、物語シリーズのノリを感じたり。まあ、シャフトが作る時点で、あのノリを求められていたのだろうなと想像。

オリジナル版を見たことがないので、そういう設定の作品とは知らず、見ていて結構驚いてしまった。もっと全然違う内容を勝手に想像しておりました。コレってそういう作品だったのか。

2019/03/29(金) [n年前の日記]

#1 [anime] 「夜は短し歩けよ乙女」を視聴

NHK-BSで放送されてたので視聴。森見登美彦氏の小説を原作とする、劇場向けのアニメ作品。

湯浅監督作品だから、おそらく「四畳半神話大系」的なノリかなと想像してたけど、見事に想像通りのノリだった。圧倒的なスピード感、そして酩酊感にクラクラ。

詭弁踊りのダイナミズムに驚愕。スムーズに流れるように嘔吐するシーンで何故か「さすが…」と感動したり。ミュージカルシーンで「自分は一体何を見せられているのか」と大いに困惑。全てが最高だった。素晴らしい。

おそらくは原作の文が独特なのだろうけど、言い回しが実に良いなと…。例えば、「〜でもヒトは生きられるのですね」と言えばいいところで「人類は生きられるのですね」と突然スケールが大きくなったり等々、ちょっとしたやり取りでも、どうしてそんな言い回しを思いつくのかとシビレたり。

本の紙面が光り続けてるカットで気づいたけれど。どうやら現実の風景ではなく、キャラから見た風景・キャラが感じている風景を誇張して描くことを徹底しているように思えて感心したり。後からインタビュー記事を読んでみたら、やはりそういう描写を意識していたらしい。

「夜明け告げるルーのうた」と比べると一般向けではないというか、監督自身も「ルーは一般向け、乙女はマニア向けを意識して作った」とインタビューで語ってたので、万人に薦められるアニメではないのかもしれないけれど。こういうスタイルが好きな人なら、大満足する出来なのだろうなと。もっとも、アニメは嗜好品なので、合わない人には全く合わないとは思うけど。ていうか、「ルー」が一般向けと言われたら「えっ」と思う人も多そうだけど。

#2 [pc] 「小学校プログラミング教育(導入編)『第2回 小学校プログラミング教育の実践』」を視聴

放送大学で放送されてた番組をたまたま視聴。

どうも世間一般では、小学生にガチでプログラミング言語を触らせるのか、みたいな誤解があったりするようだけど。実際は、Scratch 系のビジュアルプログラミング言語を触らせるのが関の山だし、場合によっては一切コンピュータに触らせないで概念だけ教えるのもアリとされている、みたいなあたりを既に実践してる教室の映像を流しながら説明してた。

授業の風景を一応眺めてみたけれど、なんだかつまらなそう…。子供達が嫌々やらされてる感が…。理科の学習内容と重なる形で課題を考えよ、てな枷が文科省から教師に要求されてるようで、その上で指導内容を決めているから、こうなっちゃうのだろうか…。

しかし、別の先生・学校の授業風景を眺めたら、また違う印象に。少人数のクラスで、ロボットを動かして自動運転の雛型を作らせる授業では、子供達がロボットの動作に一喜一憂していて。

課題の内容、与える機材、何より、教師一人あたりが面倒を見る生徒の人数次第で、随分と変わりそうだなと。大人数を前にして先生が一方的に講義する形では、子供の学習意欲をさっぱり引き出せない感じ。子供自身が手を動かしてアレコレ試せないとアレだなと…。

イイ感じで授業をしていた事例は、生徒が制服を来ていたので、おそらくはいいところの坊ちゃん嬢ちゃんが通う小学校っぽいなと。プログラミング教育といっても、学校や先生によって、その内容に差が出てきそうな予感。

コンピュータを使わずに教える事例も紹介していて、なかなか興味深かった。ラーメンの種類を2軸で分類していくことで分解・抽象化を教えて、その上で単位系の分解と抽象化を行わせる、みたいな内容で。更に、Google検索をする時も多軸で分類しておくことが有用と教えていて。たしかにコンピュータを触らせなくてもプログラミング的思考を教えることは可能なのだなと。

プログラミングを通じて教えたい内容をまずは明確にして、その目的を達成するための手段・ツールとしてプログラミングを活用、という理念があるようだけど…。フツーの学校では手段が目的になりそうな不安も。しばらくは試行錯誤が続くのだろうな。

2019/03/30() [n年前の日記]

#1 [anime] 「ガンダム誕生秘話」を視聴

NHKで放送されてたソレを録画してたので視聴。

富野監督を筆頭に、当時の制作スタッフや関係者のコメントがたくさん見れて大満足。個人的には、板野一郎氏のコメントを見れたのが嬉しかった。当時の、一作画スタッフの正直な印象を語ってもらえたのがありがたい。

できれば、重要回の脚本を担当した、故・星山博之さんのコメント映像も見たかったけれど…。亡くなってしまったら取材することは不可能なわけで。こういうアレコレは、関係者が御元気なうちに、どんどん取材して記録を残しておいてほしいものだなと。

2019/03/31() [n年前の日記]

#1 [zatta] 今回の元号変更は比較的余裕があるなあ

TVニュースを見ていたら平成をネタにしたクイズ大会がどうとかいうニュースが流れてて。

昭和から平成に変わった際は、どこもかしこもめちゃくちゃドタバタして大変だった記憶しかないのだけど。こうして事前に、「この時期に元号変えるよ」「1ヶ月前には次の元号発表するよ」と予定を立てておけば、ここまで余裕のある状況になるんだなとなんだか感心してしまったり。 「生前退位(?)なんてとんでもない」と反対してた人達がそれなりに居ただろうとは思うのだけど、彼等の主張通りにしていたら、これほど余裕のある状況にはならなかったはずで。

つまり、そのへんのおじいさん達より、天皇陛下のほうがはるかに賢いわけで。陛下が「こうしたい」と言い出したら「ではそうしましょう」と動いたほうが大体は良い状況になるのだろうなと。「それはなりませぬぞ、陛下」とか言い出しちゃったお前達は一体何様のつもりやねん。みたいなことをちょっと思ってしまったりもして。

以上、31 日分です。

過去ログ表示

Prev - 2019/03 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project