SQLの窓 イラストAC フリー素材

2019年01月03日

DAZ3D : Juliette Hair の調整

この髪( Juliette Hair )は、$19.95 を $5.39 で買っています。一度使いましたが良くなかったので放置してましたが、他の人が使ってるのを見て調整してみようと思いました。

 出来上がったのが以下の画像です



正直そのまま使うととても印象がイマイチなものが出来上がるのでモーフで調整を入れようとするといいのが無く、本来使わないキャラクタのアジャストがあるにはありますが、正攻法ではありません。

▼ ノーマルの状態


▼ 調整した状態との差



そこで、General なパラメータでサイズ調整をしようとすると、本体を選択しているとえらい事になります...

DAZ の製品ではタマにあるのですが、やりたいモーフがパーツに存在する事があります。そこで今回は head を選択して General のパラメータ調整を行いました。




その他の結果






補足

この衣装は、Doctor Coat Outfit for Genesis 3 Female(s) ですが、H&C Nurse Uniform for Genesis 3 Female(s) と同じくクオリティが低いです。

どちらも Fitting に問題があり、G3 用のプロダクトとは思えないぐらいの調整が必要となります。特に、ポースによって服のシワが破綻するのが腹立つのでほぼつかってません。

イラストAC 用として医療関係のイラストに使おうと思ったんですけど...


ちなみに、以下が Aiko7 でのプロトタイプです。ドクターコートの下のシャツが表に出てしまっています。これは Iray プレビューしないと解りません。単純に専用モーフに Ajust Fit があるのでそれで調整しました。これは、ドクターコートの Fit 先を シャツにする方法もありますが、部分的に破綻する可能性があります( 破綻がカメラの範囲になければ そのほうが確実ですけど )






posted by at 2019-01-03 22:27 | Iray DAZ3D DAZStudio イラスト | このブログの読者になる | 更新情報をチェックする

2019年01月02日

DAZ3D : とてもアニメっぽいデザインの 戦艦 Dominator は作ってて楽しい



以前から戦艦が欲しかったのですが、年末のディスカウントで $6.36 で手に入れたプロダクトです。

Dominator

回りの小型機は、一つ作ってノードインスタンスで量産して角度と位置を調整したものですが、なかなか楽しいレンダレング具合です。( 最後に GIMP で オーバレイ+スクリーン )



ついついこの手のシーンは暗くなりがちですが、イザとなればこのように GIMP でレタッチすればいいのです。

以下の画像は Haze で雰囲気出そうとしてみたものですが、戦艦メインならレンダリング時間を犠牲にしてまで使う効果ではなかったようです。



動力部分のエミッション効果がとてもいい感じです。









posted by at 2019-01-02 23:32 | Iray DAZ3D DAZStudio イラスト | このブログの読者になる | 更新情報をチェックする

DAZ3D : Urban Sprawl 3 / Block 3 : 最近レンダリング開始しておいて他の作業をやる

最近レンダリング開始しておいて他の作業をやる...という事が増えてると言うか、DAZStudio ばかり触ってます。

Urban Sprawl 3



本業のほうは、IT そのものの進歩というか広がりが多き過ぎてどこにポイントを絞ればいいのか悩みます。最近は歳をとったせいもあって、アナログな外堀から攻めるべきかなぁ...と思う今日この頃です。

なんというか、社会人としての基本スペックは最近技術力よりもっと大きいものだと思うのです。だいたい、専門学校から実社会に橋渡しをする中で、元々現場は技術力なんてのはアテにもしていないし、それでも例外な学生はタマには居るのですが。

でも、デキル子はやはり社会人としての基本スペックも自然と高いので、人間形成を手伝うほうが先だと思わざるを得ない場面に最近は遭遇する事が多いわけです。

ああ、独り言になってしまいました。



Urban Sprawl 3 は前から欲しかったんですが、イザ表現に使おうという状況になると、あまりにも現実に近いのでただの風景になりがちです。

それで思うのですが、最近漫画で『異世界』モノが多くあるのですが、どれを取っても風景や登場人物や世界観がファンタジーなので楽しいわけです。風景をレンダリングしていて感じるものとおんなじなんですよね。とりあえず現実より遠いものは切り取りやすいんです。

だから、正直 Urban Sprawl 3 はつまんないです...( どうしよう )






posted by at 2019-01-02 16:21 | Iray DAZ3D DAZStudio イラスト | このブログの読者になる | 更新情報をチェックする

2018年12月08日

【VBS汎用】SHIFT_JISデータを各種キャラクタセットのテキストファイルへ変換

Microsoft のデータはメモ帳でも解るように、SHIFT_JIS と Unicode と (UTF8) しか通常では対応していないので、このような処理が実は結構必要になります。

しかし、このような方法はたぶんあまり知られて無いので、他のアプリケーションを利用している場合が多いのでは無いでしょうか。(というか、そもそもファイルシステムオブジェクトで UTF8、UTF8N、EUC-JP を対応しろって思いますけど。)

変換は全てメモリ上で処理します。

外部ライブラリを WEB 上に置いて読み込んで処理しているので、その部分は『コマンド』だと思って下さい。
例) Crun は、コマンドプロンプトでの実行を強制します


VBScript の中に埋め込んだデータはファイルとしては Shift_JIS です。VBScript のインタープリタの内部的には Unicode ですが、何も考えなければ出力されたデータは Shift_JIS になってしまいます。

これを 5 種類のキャラクタセットとして意図的に出力します
1) SHIFT_JIS
2) UNICODE
3) EUC-JP
4) UTF8
5) UTF8N
※ UTF8 が少し特殊です(BOMを付加しています)
右端のアイコンよりダウンロードできます
<JOB>
<SCRIPT
	language="VBScript"
	src="http://lightbox.in.coocan.jp/laylaClass.vbs">
</SCRIPT>

<SCRIPT language=VBScript>
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )

' Csript.exe で実行を強制
Crun

' 元となる shift_jis の文字列
strShiftJis = GetInline("shift_jis")

' このディレクトリ
strDir = ScriptDir()

' ファイルシステムオブジェクト作成
GetFso

' 出力パス
strPath1 = strDir & "\sjis.txt"
strPath2 = strDir & "\unicode.txt"
strPath3 = strDir & "\ujis.txt"
strPath4 = strDir & "\utf8.txt"
strPath5 = strDir & "\utf8n.txt"

' ファイルシステムオブジェクトで、sjis と unicode
Call PutTextFile( strPath1, strShiftJis )
Call PutTextFileUnicode( strPath2, strShiftJis )

' キャラクタセット変換用の Stream オブジェクト
Set Stream = Wscript.CreateObject("ADODB.Stream")
Set Stream2 = Wscript.CreateObject("ADODB.Stream")

' 開く
Stream.Open
Stream2.Open
' 二つ目はバイナリ専用
Stream2.Type = 1

Stream.Charset = "euc-jp"
Stream.WriteText strShiftJis
Stream.SaveToFile strPath3, 2

' 先頭に移動
Stream.Position = 0
Stream.Charset = "utf-8"
Stream.WriteText strShiftJis
Stream.SaveToFile strPath4, 2

' バイナリにコピー
Stream.CopyTo Stream2

' 一つ目もバイナリにする為、いったん閉じる
Stream.Close
' 再度開いてバイナリにする
Stream.Open
Stream.Type = 1

' バイナリを読んでバイナリに書く
Stream2.Position = 0
Stream2.Read(3)
Do while not Stream2.EOS
	Stream.Write Stream2.Read(16)
Loop

' utn-8n
Stream.SaveToFile strPath5, 2


' 閉じる
Stream2.Close
Stream.Close


print "処理が終了しました"
print ""

Wscript.Quit

</SCRIPT>

<RESOURCE id="shift_jis">
<![CDATA[
ここは、VBScript なので shift_jis になります。
必要に応じてキャラクタセットを変更します
]]>
</RESOURCE>

</JOB>




posted by at 2018-12-08 14:20 | VBScript | このブログの読者になる | 更新情報をチェックする

バッチ処理の為の .wsf スケルトン / cscript.exe での実行を強制する / 自分自身の呼び出し

Wscript.Echo は、Wscript.exe から実行すると、一回の処理毎にメッセージボックスを表示するので、連続処理する場合は避けなければなりません(wscript.exe をタスクマネージャから強制終了する事になります)

Wscript.exe は、通常エクスプローラからダブルクリックでスクリプトを実行した際に使用されるので、誤って実行してしまう事を避ける方法です。以下のサンプルでは、スクリプトにデータを含めて、そのデータをループ処理で表示する処理ですが、コマンドプロンプトからの実行を強制しています( コマンドプロンプトから、cscript.exe を使用しないと Quit されます )


右端のアイコンよりダウンロードできます
<JOB>
<SCRIPT language="VBScript">

' コマンドプロンプトより起動される為の処理
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
	strMessage = "コマンドプロンプトより cscript " & WScript.ScriptFullName
	strMessage = strMessage & " と指定して実行して下さい   " & vbCrLf & vbCrLf
	strMessage = strMessage & "( この文字列をクリップボードにコピーした場合は"
	strMessage = strMessage & "ctrl+c です )"
	WScript.Echo strMessage
	WScript.Quit
end if

aData = Split( getResource("myText"), vbCrLf )
For I = 0 to Ubound( aData )
	if Trim( aData(I) ) <> "" then
		Wscript.Echo aData(I)
	end if
Next

</SCRIPT>

<RESOURCE id="myText">
コード名称マスタ
商品マスタ
得意先マスタ
社員マスタ
取引データ
</RESOURCE>
</JOB>

以下はオンラインのライブラリの Crun と言う関数を使って、Wscript.exe で起動された場合は、cscript.exe で自分自身を呼び出して再度実行しています( 最後にコマンドプロンプトの pause で停止 )
右端のアイコンよりダウンロードできます
<JOB>
<COMMENT>
************************************************************
 WSH 実行スケルトン
************************************************************
</COMMENT>

<COMMENT>
************************************************************
 外部スクリプト定義
************************************************************
</COMMENT>
<SCRIPT
	language="VBScript"
	src="http://lightbox.in.coocan.jp/laylaClass.vbs">
</SCRIPT>

<SCRIPT language="VBScript">
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )

Crun()

aData = Split( getResource("myText"), vbCrLf )
For I = 0 to Ubound( aData )
	if Trim( aData(I) ) <> "" then
		Wscript.Echo aData(I)
	end if
Next

</SCRIPT>

<RESOURCE id="myText">
コード名称マスタ
商品マスタ
得意先マスタ
社員マスタ
取引データ
</RESOURCE>
</JOB>


上記内容をオンラインなしで実行するには、以下のようになります
右端のアイコンよりダウンロードできます
<JOB>
<SCRIPT language="VBScript">

' コマンドプロンプトより起動される為の処理
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
	str = WScript.ScriptFullName
	Set WshShell = Wscript.CreateObject("WScript.Shell")
	strParam = " "
	For I = 0 to Wscript.Arguments.Count - 1
		if instr(Wscript.Arguments(I), " ") < 1 then
			strParam = strParam & Wscript.Arguments(I) & " "
		else
			strParam = strParam & """" & Wscript.Arguments(I) & """ "
		end if
	Next
	Call WshShell.Run( "cmd.exe /c cscript.exe """ & str & """" & strParam & " & pause", 3 )
	WScript.Quit
end if

aData = Split( getResource("myText"), vbCrLf )
For I = 0 to Ubound( aData )
	if Trim( aData(I) ) <> "" then
		Wscript.Echo aData(I)
	end if
Next

</SCRIPT>

<RESOURCE id="myText">
コード名称マスタ
商品マスタ
得意先マスタ
社員マスタ
取引データ
</RESOURCE>
</JOB>




posted by at 2018-12-08 13:52 | VBScript | このブログの読者になる | 更新情報をチェックする

VBScript : デスクトップの列挙

オンライン上にある、VBScript のライブラリを使用しています。
<JOB>
<COMMENT>
************************************************************
 WSH 実行スケルトン
************************************************************
</COMMENT>

<COMMENT>
************************************************************
 外部スクリプト定義
************************************************************
</COMMENT>
<SCRIPT
	language="VBScript"
	src="http://lightbox.in.coocan.jp/laylaClass.vbs">
</SCRIPT>

<SCRIPT language="VBScript">
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )

GetShell

Crun2 130

Wscript.Echo "【デスクトップ/一般】"
Wscript.Echo "----------------------------------------------------"
Set objFolder = Shell.NameSpace( 0 )

Set objFolderItems = objFolder.Items()
nCount = objFolderItems.Count

' 列挙1
strData = ""
For i = 0 to nCount - 1

	strData = strData & RpadB(objFolderItems.Item(i).Name," ",30 )
'	strData = strData & RpadB(objFolderItems.Item(i).ModifyDate," ",30 )
	strData = strData & RpadB(objFolderItems.Item(i).Path," ",89 )
'	strData = strData & RpadB(objFolderItems.Item(i).Size," ",20 )
'	strData = strData & RpadB(objFolderItems.Item(i).Type," ",20 )
	WScript.Echo strData
	strData = ""

Next


' 列挙2
Wscript.Echo
Wscript.Echo "【デスクトップ/詳細情報】"
Wscript.Echo "----------------------------------------------------"
strData = ""
For Each obj In objFolderItems

	strData = strData & RpadB(objFolder.GetDetailsOf(obj, 0)," ",20 )
	strData = strData & RpadB(objFolder.GetDetailsOf(obj, 1)," ",20 )
	strData = strData & RpadB(objFolder.GetDetailsOf(obj, 2)," ",20 )
	strData = strData & RpadB(objFolder.GetDetailsOf(obj, 3)," ",20 )
	strData = strData & RpadB(objFolder.GetDetailsOf(obj, 4)," ",20 )
	strData = strData & RpadB(objFolder.GetDetailsOf(obj, -1)," ",20 )
	WScript.Echo strData
	strData = ""

Next

Wscript.Echo

</SCRIPT>
</JOB>



▼ Windows10 での実行結果サンプル


結果をテキストファイルに残すには、以下のようにして表示をファイルにリダイレクトします
cscript ginpro_1517239356526.wsf > log.txt
一部特殊フォルダが表示されていますが、それらを使用してエクスプローラを起動する事ができます。Winows10 で、PC を選択してエクスプローラを開く記述は以下のようになります。
Explorer /e,/root,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}



posted by at 2018-12-08 13:30 | VBScript | このブログの読者になる | 更新情報をチェックする