饂飩コーディング

iOSアプリやら、Unityやら、Cocos2dやらごにょごにょ書いております

電子書籍をスクリーンショット してGoodNote5でお勉強する方法

↓最新版 kindle自動スクショ範囲指定改良版!!
scombu.com



この記事は購入した電子書籍を私的利用の範囲内で利用したい時のやり方です。
著作権等を侵害する行為に記述者は一切関与いたしません。

f:id:appdeappuappu:20200222171354j:plain
黄色いルートで半自動化したい

iPadでGoodNote5使うと勉強捗るというか楽しい。

GoodNote5で教科書的な本を開きながら、SplitViewでノートをGoodNoteで開きながらノート作った方が何かと便利というか効率いいなぁ〜と常々考えてました。

そこで!!!現状を踏まえつつ簡単なコーディングで半自動化(全自動は無理なんで・・・)してみます。

現状 青矢印の手順でスクショをとりまくってGoodNote5に取り込む。
   かなりめんどくさい!!

やりたい事 上図の黄色矢印ルートのスクショをAppleScriptで実現する。


前提
1、screencaptureフォルダーをデスクトップに作っておく
2、電子書籍アプリまたはSafari等を起動してスクショ撮りたい電子書籍を表示させておく
3、ページ数を頭で計算しておく。(電子書籍アプリにはページ概念がないものがあるので計算しておいてください。)
4、ページめくりアニメーションを消しておく
5、右送り、左送りなのかを調べておく。(ページをめくる方向)

下のコードでは、
スクショを撮る回数、右・左ページ送りを対話してpngファイルを~/Desktop/screencapture/に出力します。アプリケーション名はお使いの環境でそれぞれ上書きしてください。自分はSafariとかに書き換えてます。
(例外処理やエラー処理は全く実装していません)

display dialog "スクショする回数を入力してください。" default answer "5" with title "xxxxxx Version"
set screenShotNumber to text returned of result

display dialog "右開き?左開き?" buttons {"左", "右"} default button 2 with title "xxxxxx Version"
set temp to result
set btn to button returned of temp

set dFolder to "~/Desktop/screencapture/"

repeat with p from 1 to screenShotNumber
	
	tell application "xxxxxxx" --ここにはアプリケーション名を記述してください。SafariとかKindxとか
		
		activate
		
		tell application "System Events"
			
			
			if p = 1 then
				delay 1
				do shell script ("screencapture " & dFolder & "0.png")
			end if
			
			--key code 123
			if btn = "右" then
				keystroke (ASCII character 29) -- ページ右送り (カーソルキー)
			else --左
				keystroke (ASCII character 28) -- ページ左送り (カーソルキー)
			end if
			
			delay 1
			do shell script ("screencapture " & dFolder & p & ".png")
			delay 1
			
		end tell
		
	end tell
	
end repeat

tell me
	activate
	display alert "処理が終了しました。"
end tell


4、5分すれば100ページくらいはスクショできてるんで、それらの画像ファイルを一括してトリミングします。
上記AppleScriptは画面全体のスクショを撮ってるんでXnconvrtで一括トリムの必要が出てきます。
選択範囲を指定してのスクショはまぁ、後々考えてみます。
自分は、Xnconvertを使ってます。

XnConvert

XnConvert

  • pierre gougelet
  • 写真/ビデオ
  • 無料
apps.apple.com


f:id:appdeappuappu:20200222185033p:plain
XnconvertTrim画面


一括トリムが終わったらプレビューアプリで複数の画像ファイルを開いて、PDFで出力すれば完了です。
GoodNote5で取り込んでお勉強用に活用!!!

keyword kindle safari 電子書籍 pdf化 自動 スクリーンショット

UQモバイルってどうよ

UQ モバイルの検討中


OCNモバイルoneのSIM使ってたんだけど
高速モードでも低速モードでも反応しない時間帯があって
ストレスだったんでping測ってみたら100ms軽く超えてて
Lostする事もあったんでネットを軽く調べてたらUQがいいらしい。

UQで端末を買わなきゃ1年縛りなんで
500kbpsで使い放題のSIMを契約してみました。

結果は自分の使い方ならOKかな。

そこまで高速なネット環境は必要ないし
webとかアプリの反応がそこそこ出てるんで満足。

HatenaBLog にAmazonのMobile Popoverを設定する

Amazonアフィリエイトの画面でMobile Popoverを選択し設定用のコードをコピーする。
f:id:appdeappuappu:20190120212108p:plain

↓このコードをコピーする
f:id:appdeappuappu:20190120212642p:plain


HatenaBLogの設定→詳細設定タブの「Headに要素を追加」箇所に先ほどコピーしたコードを貼り付ける。
スクロールダウンして「変更」ボタンを押す。
f:id:appdeappuappu:20190120213134p:plain


結構簡単。


スマホでこんな感じに表示されます。
Amazonアフィリエイトを追加したベージでかつそれが表示されたら、下からMobilePopoverがニューっと出てきます。

f:id:appdeappuappu:20190120213708p:plain



ブログで簡単!  アフィリエイト 稼ぐ力をつけるための教科書

ブログで簡単! アフィリエイト 稼ぐ力をつけるための教科書

スロットマシーン2

f:id:appdeappuappu:20190120195642g:plain

まずは実行結果を見てください。
Unity WebGL Player | doubleAnime

前回の記事で数字のオブジェクトを動かす基本を作ったのですが
若干納得いかない動きだったので、以下の点を修正したバージョンです。

1、数字が動き出したら少し動いたら次の数字を動かし始める。
2、動かし始め、停止位置、最終移動地点でのサイズを停止位置で大きく両はしで小さくする。
3、数字の表示範囲を限定する。


実現方法
1について アニメーション レイヤーをそれぞれの数字でそれぞれ作る。
2について アニメーション クリップでサイズの調整を追加する。
3について ステンシルで数字の表示範囲を限定する。


f:id:appdeappuappu:20190120184952p:plain

ステンシルで表示範囲を限定するのは以下の動画を参照。
www.youtube.com

次回はステンシルの記事を書く予定。


Unityゲーム プログラミング・バイブル

Unityゲーム プログラミング・バイブル

UnityではじめるC# 基礎編

UnityではじめるC# 基礎編

Unityで神になる本。

Unityで神になる本。

スロットマシーンを作ってみよう

f:id:appdeappuappu:20181230093933p:plain

スロットマシーンといっても、数字のメッシュを動かして止めるだけの
簡単な部品ですけどね。

まずは動かした結果を。↓こちらから
Unity WebGL Player | Random2

パチンコのデジタル部分とか、スロットマシーンの部品とかに使えそうですが
この部品の作り方を考えた時の変遷を書いてみます。

案1:テクスチャーのオフセットを制御して出目を表現する。
   (↓過去記事)
appdeappuappu.hateblo.jp

案2:大きめの円形オブジェクトの外周に数字のオブジェクトを貼り付けて全体を回転させ、回転角度を制御して出目をコントロールする。
案3:数字のオブジェクトそれぞれを制御して出目をコントロールする。
案4:その他


って感じでどう実現するか検討してた結果、Unityの勉強がてら案3で作ってみることにしました。

おそらく、案1が一番簡単だと思われるのと、制御が楽かな・・・

基本設計
f:id:appdeappuappu:20181230153906j:plain

空オブジェクトに数字のメッシュを子オブジェクトとして五つヒエラルキーひ設定します。
その後に、空オブジェクトにはコントロール用のスクリプトを追加して数字のメッシュそれぞれに
AnimationClipを作成していきます。
Animation Clipは位置Y=0 → 位置Y=-1.5 → 位置Y=-3.0という感じでアニメーションするように
しておきましょう。
それぞれの位置でAnimation Eventを使って遷移フラグを変更したり、スピードを落としたりストップさせたりできるので
設定すれば大枠実装できるはずです。

f:id:appdeappuappu:20181230160132j:plain
こんな感じのジャグ配列をアニメーション時に読み込みながらアニメーション状態変化用のフラグを変更していけば
くるくると数字が回転します。


Unityゲーム プログラミング・バイブル

Unityゲーム プログラミング・バイブル

UnityではじめるC# 基礎編

UnityではじめるC# 基礎編

モデルのポリゴンを削減したい

Blender でUnityようにモデルを作成して出力するんですが、結構ポリゴン数が大きくなっていてUnityでの実行を重たくする可能性がある場合が多々あります。
そこで、今回はテキストの数字をMesh化しそこからポリゴンを減らしていきましょう。

1、Textで数字の8を入力し、Exclude 0.2 Bevel 0.04で厚みとベベルをつける。
f:id:appdeappuappu:20181213132956p:plain
f:id:appdeappuappu:20181213132948p:plain
2、Mesh化する Alt + C で Mesh From Textを選択
f:id:appdeappuappu:20181213134002p:plain
3、MeshのFace数が964になっています!!!減らしていきましょう。
f:id:appdeappuappu:20181213140849p:plain
4、まずは、平面が無駄に分割されている場合にFaceを減らす為に
 Mesh → Clean UP → Limited Dissolve
 f:id:appdeappuappu:20181213141106p:plain
5、Face数502半分近くに削減するできましたが、さらに減らしていきましょう
f:id:appdeappuappu:20181213141257p:plain
6、側面をAlt + Controlを押しながらエッジをクリックしてリング選択してください。
ぐるっと一周選択してみましょう。
7、Select → Checker Deselectで一つおきに非選択し
結果として一文字側面のエッジを均等に半分選択した事になりました。
f:id:appdeappuappu:20181213141343p:plain
f:id:appdeappuappu:20181213141405p:plain
f:id:appdeappuappu:20181213141427p:plain

8、選択したエッジを削除します。xキー → Edge Loop 
これで側面のエッジが半分に削減されました!
f:id:appdeappuappu:20181213141445p:plain

9、あとは穴の中とその入り口、各5箇所に同じ処理を施すと
Face数231まで削減!あとはお好みもっと減らすなり可能。
f:id:appdeappuappu:20181213141504p:plain

Blender 3DCG モデリング・マスター

Blender 3DCG モデリング・マスター

やわらか3DCG教室 Blender

やわらか3DCG教室 Blender

Blender 3Dキャラクター メイキング・テクニック

Blender 3Dキャラクター メイキング・テクニック

UnityにBlender作成のモデルを出力する。(備忘録的な)

大まかな手順
Blender
1、モデリングする
2、中心点を重心(質量ベース)に変更する。
Object → Transform → Origin center of Mass (Volume)
f:id:appdeappuappu:20181213122446p:plain
3、Rotation Scale を確定させる。
Ctrl + A で Apply Rotation and Scale
f:id:appdeappuappu:20181213123904p:plain
4、FBXでExportする
File → Export → FBX (.fbx)
f:id:appdeappuappu:20181213124109p:plain

書き出しオプションは下の感じで!
UnityとBlenderでは空間座標の方向が違う為にこのように
設定します。
f:id:appdeappuappu:20181213125323p:plain


Unity側
1、Import New assetsで読み込む
f:id:appdeappuappu:20181213130004p:plain



やわらか3DCG教室 Blender

やわらか3DCG教室 Blender