2018年2月15日木曜日

UnityのTileMapで境界線(黒線)が出る

Unityでタイルマップに配置して
カメラをずらしたり拡大したりすると境界線が出て困った。



この状態でも、1/32とか1/64とか1ドット単位のカメラ位置変更なら
なんとかなるぽかったけど、数時間格闘した挙句に単純に解決した。

Spriteを作成するときに、
AdvancedのFilter ModeをPointにしてなかったから、
なんか変な拡縮がかかって縁が見えてしまっていたらしい。

SpriteかTileかTilemapかGridかCameraかどこに原因があるのか分からなかったから
時間がかかったが、分かってしまえば単純なことだった。


素材について

ぴぽや http://piposozai.blog76.fc2.com/
tmw_desert_spacing.png - (C) The Mana World Development Team, GPL

2015年10月25日日曜日

Centos7でDockerでwineでdotnet40でaviutlで…

話し始めると長くなる。
ただのメモ書きだ。
録画サーバの環境とエンコード環境を、現在自宅サーバにしているマシンに統合したいなと思った。

Centos7で録画環境を整備した友人はいたので、そちらはなんとかなるだろうとは思った。
ただ、目下の課題は、Centos7で自前のエンコード環境であるaviutlを利用できるのか、ということだった。

「wine aviutl」で検索したら、wine経由でaviutlを起動したという記事が見つかった。
 rigayaの日記兼メモ帳 wine上のAviutl+x264guiExでエンコード
 http://rigaya34589.blog135.fc2.com/blog-entry-435.html
rigayaさんだ。やはり、rigayaさんはすごい。

参考にしてyumでwineをインストールしたりして進めていると、どうもwineが32bit版で起動しない。
依存するパッケージがいろいろと足りないらしい。

ここですっかり忘れていたのだが、Centos7には32bit版など存在しないのだ。
そりゃ、32bit版のパッケージに依存しているwineの32bit版が動くわけはない。

「うーむ、仕方ないなあ、仮想OSとしてUbuntuでも載せるかあ」と思っていた。
そこでいろいろ検索していると、現在は仮想OSでゴリゴリやるよりもDockerというコンテナ管理ツールを使って、動かしたいソフトをそのためだけの環境を作って動かすのが主流らしい。

なんだか、昔に仮想OSに挑戦しようとしたときも面倒だった記憶があったので、こちらを利用することにした。

yumでdockerをインストールし、イメージをpullで引っ張ってくるだけだ。
あとのカスタマイズは手前側でどうとでもやればよい。

で、さくさくと理解して進めていて気分も乗っていたのだが、よく考えればGUIを出力することが一般的な技術ではない。

「あー、どうしたものか」と思っていたら、DockerでUbuntu環境を作成し、wine経由でLINEをしているとかいう意味の分からない人に出会った。
 LINE を使い始めたら、あれだけ苦手だったワインをクジラ料理で克服できた話
 http://netbuffalo.doorblog.jp/archives/5001669.html
こんな意味の分からないことをやっている同士に出会うと、やはり親近感を感じずにはいられない。
記事タイトルのぼかし方(意味のわからない感じ)もまさしくギークって感じだ。ギーク万歳。

だが、しょうもないところで何度もつまづいたりして苦労した。
詳細は省くが、apt-getで取得しているのに依存関係がエラーしているとか本当にやめていただきたい。
あと、SELinuxはやはりよくわからないけど、邪魔だ。
(とても大切な機能な気もするのだけど、知識がないので無思考で切る。)

そんなこんなをしていると、Centos7をホストOSにして、DockerでUbuntuベースのコンテナ内で、wine経由でdotnet40なども入れてaviutlを起動できた。



素晴らしい。
あとは、avisynthさえ動いてくれればなんとでもなりそうな気がする。

あ、docker runコマンドで--rmオプションつけちゃってた。
dotnet40次に起動するときにまた入れなおさなきゃ。

ま、そんぐらいいいか。

2015年1月29日木曜日

今までのエンコード

今までエンコードを頑張ってきたが、
ネットで受け身に情報を集める辛さを思い知ったので、
他の人の助けになればと自分のやり方を公開することにした。

現在は、
1.EpgDataCap_Bonで録画
2.ts.errでMPEG2 VIDEOとMPEG2 AACのDropがないかを確認
3.DGIndex(修正版)にかけて、d2vとaacとavs作る
4.aacをFakeAACWAVでfaw化する
5.avsをchapter_exe.exeにかけてscp.txt作成
6.avsをlgdと共にlogoframe.exeにかけてlogo.txt作成
7.join_logo_scp.exeにscp.txtとlogo.txtを渡してjoin.txt作成
8.avsにjoin.txtを追記
9.avsをaviutlで読み込みミスがないか確認
10.aviutlのx264gui_exで出力
という流れになっている。

詳細なやり方はまた後日にでも書く。

2014年8月29日金曜日

Unity2.7(Free)を使うときにUnity4.5で警告が出る問題への対処

NGUIの無料版が公開されているので使ってたらwarningがうっとうしかったので対処のメモ。
すぐに対処したければNGUI270Reviveを使う。

自分でソースを書き換える場合は以下のようにする。


NGUIEditorToolsのUndo.RegisterUndoはUndo.RecordObjectに書き換える。
NGUIMenuのUndo.RegisterSceneUndoはその直後に書いてあるObjectを生成した後でUndo.RegisterCreatedObjectUndoをする。

Undo.RegisterSceneUndo("Add a Label");

UILabel lbl = NGUITools.AddWidget<UILabel>(go);

UILabel lbl = NGUITools.AddWidget<UILabel>(go);
Undo.RegisterCreatedObjectUndo(lbl, "Add a Label");

みたいな感じ

Assets/NGUI/Scripts/Editor/NGUIEditorTools.cs(712,30): warning CS0618: `UnityEditor.Undo.RegisterSceneUndo(string)' is obsolete: `Use DestroyObjectImmediate, RegisterCreatedObjectUndo or RegisterUndo instead.'
の対処としては、else以下を消す。
ただし、参照先も少し書き換える。
NGUISelectionTools.cs (62, 20): NGUIEditorTools.RegisterUndo("Add New Child");
Undo.RegisterCreatedObjectUndoにする。
UICreateNewUIWizard.cs (70, 19): NGUIEditorTools.RegisterUndo("Create New UI");
ifとelse内両方でUndo.RegisterCreatedObjectUndoに書き換え
UICreateWidgetWizard.cs (180, 20): NGUIEditorTools.RegisterUndo("Add a Widget");
はUndo.RecordObject(go, "Add a Widget");にすればいいみたい(もっと良いやり方があれば誰か教えてください)

残りは単純に
EditorGUIUtility.LookLikeControls(80f);
みたいになっているところを
EditorGUIUtility.labelWidth = 80f;
EditorGUIUtility.fieldWidth = 0f;
に変えていくだけ。

2013年11月11日月曜日

ProcessingでPGraphicsクラスを使う時の注意

beginDraw();
endDraw();
をして、とりあえずなにか描かないとnullのままなので操作できない。

2013年4月21日日曜日

GIMPとかInkscapeとかのフォント崩れ

そういえば、前に書いたエントリの続きだけど、
GIMPとかInkscapeとかのGtkを使ってるソフトでは、
Program Filesとかの中の./etc/を同じように変更してやれば、
フォント修正されるっぽいよ
(もちろん、winの話ね

http://skyinthehand.blogspot.jp/2012/08/gtkpangowarning.html

2012年10月8日月曜日

改行コードが混ざったファイルの置換

サクラエディタでは、[\r\n]+(CR,LF,CRLFのすべて)を目的の改行コード(\r\nとか)に置換すれば良い。
LFCRも含むときは、$→\r\n