xrandr --output HDMI2 --mode 1920x1080
memo: 第48回 デュアルディスプレイを使う:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
leftside, rightside, uniside
xrandr --output HDMI2 --mode 1920x1080
memo: 第48回 デュアルディスプレイを使う:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
GOTO文
mes "スタート"
goto *あそこ
*ここ
mes "ここ"
*あそこ
mes "あそこ"
mes "ゴール"
stop
モジュール
#runtime "hsp3cl"
#module hoge dummy
#modinit
return
#modfunc local foo
mes "hoge"
return
#global
#module huga dummy
#modinit
return
#modfunc local foo
mes "huga"
return
#global
newmod hogex, hoge
newmod hugay, huga
foo@hoge hogex
foo@huga hugay
;https://qiita.com/YSRKEN/items/bbd3cad4cc1c1de9dcbb
#module ライト dummy
#modinit
mes "ライトを作りました。"
return
#modfunc 点ける
mes "ライトを点けました。"
return
#global
newmod ライト1,ライト
点ける ライト1
stop
モジュール HGIMG4 モデル登録
#module 盆踊りキャラ id, px,py,pz
#modinit str path, double x, double y, double z
px = x : py = y : pz = z
gpload id, path ; モデル読み込み
setpos id, px,py,pz ; カメラ位置を設定
mes "盆踊りキャラを作りました。"
return
#modfunc local 置きなおす double x, double y, double z
setpos id, x,y,z ; カメラ位置を設定
mes "置きなおしました。"
return
#modfunc local 踊る
gpaddanim id,"ondo",0,-1 ; "run"クリップを設定
gpact id,"ondo" ; "run"クリップを再生
mes "踊ります。"
return
#modfunc local 当たり判定をつける
gppbind id, 0
mes "当たり判定をつけました。"
return
#global
;newmod v, 盆踊りキャラ, "res/model", 0.0, 0.0, 0.0
;踊る@盆踊りキャラ 盆踊りキャラ1
#module オブジェクト id, px,py,pz
#modinit str path, double x, double y, double z
px = x : py = y : pz = z
gpload id, path ; モデル読み込み
setpos id, px,py,pz ; オブジェクト位置を設定
mes "オブジェクトを作りました。"
return
#modfunc local 置きなおす double x, double y, double z
setpos id, x,y,z ; オブジェクト位置を設定
mes "置きなおしました。"
return
#modfunc local 大きさを変える double x, double y, double z
setscale id, x,y,z ; オブジェクト向きを設定
mes "大きさを変えました。"
return
#modfunc local 向きを変える double x, double y, double z
setang id, x,y,z ; オブジェクト向きを設定
mes "向きを変えました。"
return
#modfunc local 当たり判定をつける
gppbind id, 0
mes "当たり判定をつけました。"
return
#global
;newmod v, オブジェクト, "res/model", 0.0, 0.0, 0.0
;向きを変える@オブジェクト 太鼓外側(0), 0.0, 0.7, 0.0
;当たり判定をつける@オブジェクト 太鼓外側(0)
※2021年10月18日現在?ライトは#moduleすると光らない?
リンクがある.blendで一枚絵のテクスチャを作るのに必要なこと
・ベイクする
- ベイクしたいモデルのObject Data PropertyウィンドウでUV Mapsを追加してSmart UV Projectしておく。
- リンクされたオブジェクトもベイクするにはオブジェクトを選択してMake Local(またはF3キーのMenu SearchでMake Local >ALLを選ぶ)して、.blendをまたがないようにする。
- ベイクされた結果を書き込む新規画像を、テクスチャを貼りたいオブジェクトのシェーダーノードでテクスチャノードを作っておく(テクスチャノードでNew Imageする)
- ベイク前にテクスチャを貼りたいオブジェクトを3D Viewで選択しておいて、シェーダーノードでベイクされた結果を書き込みたいテクスチャノードを選んだ状態にしておく。
- ベイクはCyclesを使ってする。プロパティウィンドウでCyclesにしておいて、そこの下にあるBakeボタンを押す
「Microsoft Visual C++ 2010 Service Pack 1 再頒布可能パッケージ MFC のセキュリティ更新プログラム」をインストールする。
下の文章がソース。
#include "hgimg4.as"
gpreset
setcls CLSMODE_SOLID, $404040
;ライト初期化
gpresetlight 0, 10, 0
setcolor GPOBJ_LIGHT, 1,1,1 ; ライトカラーを設定
setdir GPOBJ_LIGHT, 0.0,0.0,0.0 ; アンビエントカラーを設定
;カメラ
gpnull id_camera ; ヌルノードを生成する
gpcamera id_camera, 45, 1.5, 0.5, 768 ; カメラとして設定する
gpusecamera id_camera ; 使用するカメラを選択する
setpos id_camera, 0,4,20 ; カメラ位置を設定する
;ライトをおく; 先に地面をおくと地面が光らない
gpnull id_alight
gplight id_alight, GPOBJ_LGTOPT_POINT, 5
gpuselight id_alight,0
setcolor id_alight, 1,0.9,0.9 ; ライトカラーを設定
setpos id_alight, 0,1,0
;箱
gpbox id_box, 1
setpos id_box, 0,0.5,0
;地面
gpfloor id_floor, 100,100, $884400 ; 床ノードを追加
repeat
stick key,15
if key&128 : end ; ESCキーで終了
redraw 0 ; 描画開始
gpdraw ; シーンの描画
redraw 1 ; 描画終了
await 1000/60 ; 待ち時間
loop
carrara6でオプションはそのまま変えずにエクスポートして、DXライブラリ置き場で配られているDXライブラリのDxLibModelViewerで一度開いて保存し直してから、hgimg3で読み込んで再生するとアニメーションする。そのとき、アニメーション速度をmodelspeedで調整する。※値は「FPS÷モーションがある最後のフレームの秒数(かかってる秒数)」
Metasequoiaで面にテクスチャを張るとき、モデルを保存するフォルダにテクスチャファイルも入れておく(テクスチャファイルのファイルパスがファイル名だけになるようにする)。それを.daeで保存してBlenderにインポートするとテクスチャがシェーダーノードでテクスチャノードになって付いている。
blender script
bpy.context.scene.frame_current # いまのフレーム数
bpy.context.view_layer.objects.selected # いまの選択オブジェクト
import bpy
for key in bpy.__dict__.items():
print(key)
コレクションのオブジェクトの名前を列挙
for obj in bpy.data.objects:
print(obj.name)
オブジェクトのアトリビュートを列挙
dir(bpy.data.objects['Cube'])
オブジェクトのカスタムプロパティへのアクセス
bpy.data.objects['Cube']['prop']
bpy.data.objects['オブジェクト数:'].data.body = str(bpy.context.scene.frame_current)
“blender script tips” の続きを読む Windows上でリモートX11アプリケーションを動かす+ffmpegでアプリケーションウィンドウキャプチャをする+コマンドプロンプトでパイプする+akvirtualcameraを使って仮想カメラを動かす+ffmpegの出力ストリーミングをakvirtualcameraにつなぐ。
akvirtualcameraをインストール。ffmpegをインストール。
akvirtualcameraとffmpegにパスを通す。
コマンドプロンプトを管理者で実行で開いて、以下を実行。
AkVCamManager add-device "Virtual Camera"
AkVCamManager add-format AkVCamVideoDevice0 RGB24 640 480 30
AkVCamManager update
OBSなどで映像キャプチャのリストにVirtual Cameraが出てくれば仮想カメラの登録は成功。
※もし、Webカムがパソコンに付いていて、映像キャプチャのソースを選べないアプリケーションに仮想カメラの映像を映すのであれば、デバイスマネージャーでWebカムを無効化しておくことでVirtual Cameraがデフォルトになる。
アプリケーションウィンドウの映像をさっき作成した仮想カメラを通してストリーミングするには以下のコマンドを実行。ここではglxgearsの実行ウィンドウをキャプチャしている。
ffmpeg -f gdigrab -i title="glxgears" -pix_fmt rgb24 -f rawvideo - | AkVCamManager stream AkVCamVideoDevice0 RGB24 624 556
※624 556はffmpegが検出しているfps
※もしカクついているようであれば、”AkVCamManager stream”のあとに–fpsオプションをつけるとカクつきが直るかもしれない(fpsの数は例えば29.97)。
※macだとgdigrabはavfoundation →参考ページ
/etc/X11/Xresourcesを変更
Xft.dpi: 150 !default:96 macbookpro retina 13インチ