現在のビューのレンダー解像度と フロートwindow

已查看 52 次
跳至第一个未读帖子

大石

未读,
2017年5月9日 12:11:492017/5/9
收件人 modo ディスカッショングループ
バラバラに質問するのもスレか多くなるので小さい内容だと思うので纏めてご質問します。
modo10を使ってます

1.現在のアングルのカメラのレンダリング解像度の変更について
2.新規ウィンドウを作った場合の呼び出しとwindow確認


まず1です。

具体的には@viewrender.plを呼び出してpl内でカメラ新規作成 現在のviewにsync レンダープロセス レンダー解像度設定 カメラの指定(suncしたカメラ) 画像生成 カメラ破棄
というプロセスだと思うのですがrenderres 0 xxxx renderres 1 xxxxの工程で解像度が設定されているような感じな気がするんですけど
元から有る数字とレンダリング解像度がこの値が一致してないのと任意で数字入れた場合でも反映されてないようなのですが
他にこの数字を強制的に入れ替える方法ってあるのでしょうか?


2について
フォーム編集で出せるウィンドウタイプが少ないようなのとカスタムしたウィンドウを手早く出したいと言うことを狙ってなのですが・・・
新規windowを生成した時にそのwindowIDが有り名前では無くIDの方からwindowを特定とロードしているのは分かっているんですが
ウィンドウ保存した場合にそのwindowのidを見るコマンドが分からないのとロードが分からない・・・
(正確にはロード方法は多分わかってますがIDが分からないので試せない)

出来ればwindowでは無くフォームの方みたいに縦並べのピン留め出来るようなのが良いのですが
ウィンドウなのでしょうがないですよね・・・?


という感じなのです。

田崎禎明

未读,
2017年5月11日 06:30:252017/5/11
收件人 modo-...@googlegroups.com

> 2017/05/10 1:11、大石 <oois...@gmail.com>のメール:
>
> バラバラに質問するのもスレか多くなるので小さい内容だと思うので纏めてご質問します。
> modo10を使ってます
>
> 1.現在のアングルのカメラのレンダリング解像度の変更について
> 2.新規ウィンドウを作った場合の呼び出しとwindow確認
>
>
> まず1です。
>
> 具体的には@viewrender.plを呼び出してpl内でカメラ新規作成 現在のviewにsync レンダープロセス レンダー解像度設定 カメラの指定(suncしたカメラ) 画像生成 カメラ破棄
> というプロセスだと思うのですがrenderres 0 xxxx renderres 1 xxxxの工程で解像度が設定されているような感じな気がするんですけど
> 元から有る数字とレンダリング解像度がこの値が一致してないのと任意で数字入れた場合でも反映されてないようなのですが
> 他にこの数字を強制的に入れ替える方法ってあるのでしょうか?


@ViewRender.plをテキストファイルで開いてみると、Renderアイテムで設定されている解像度をgetRenderInfoで参照し、render.syncViewでSyncさせたのちにrenderでレンダリングを行っています。このRenderの直前にresetRenderSettings が行っているようにrender.resコマンドで独自の解像度を設定してあげれば解像度の設定ができると思います。


#Main
#lxtrace(1);
$camera = "";
$sync = 1;
@originalSelection = lxq("query sceneservice selection ? all");
@originalRenderSettings = [];

$projection = lxq("view3d.projection ?");
if ($projection eq "cam") {
$current = lxq("view3d.cameraByIndex ?");
if ($current == 0) {
$sync = 0;
}
$camera = lxq("view3d.cameraItem ?");
$render = lxq("render.camera ?");
if ($camera eq $render) {
$sync = -1;
}
}

&getRenderInfo;

if ($sync == 1) {
&createNewCamera;
}

if ($sync != -1) {
lx("render.syncView");
}

lx("render");

&resetRenderSettings;

#/Main

#Original render info sub...
sub getRenderInfo{
$originalRenderSettings[0] = lxq("render.camera ?");
$originalRenderSettings[1] = lxq("render.res 0 ?");
$originalRenderSettings[2] = lxq("render.res 1 ?");
$originalRenderSettings[3] = lxq("render.dof ?");
$originalRenderSettings[4] = lxq('render.stereo ?');
$originalRenderSettings[5] = lxq('render.mblur ?');
}

#Create a new camera
sub createNewCamera{
lx("item.create camera");
$camera = lxq("query sceneservice selection ? camera");
lx("camera.syncView");
lx("render.camera $camera");

}

#Reset all of the render settings back to normal

sub resetRenderSettings{
if($originalRenderSettings[0] ne ""){
lx("render.camera $originalRenderSettings[0]");
}
lx("render.res 0 $originalRenderSettings[1]");
lx("render.res 1 $originalRenderSettings[2]");
lx("render.dof $originalRenderSettings[3]");
lx("render.stereo $originalRenderSettings[4]");
lx("render.mblur $originalRenderSettings[5]");
if ($sync == 1) {
lx("select.subItem $camera set ;render;environment;mediaClip;scene;camera;light;textureLayer");
lx("!item.delete");
if($originalSelection[0] ne ""){
lx("select.subItem $originalSelection[0] set");
for ($i = 1;$i <= $#originalSelection;$i++){
lx("select.subItem $originalSelection[$i] add");
}
}
}
}




>
>
> 2について
> フォーム編集で出せるウィンドウタイプが少ないようなのとカスタムしたウィンドウを手早く出したいと言うことを狙ってなのですが・・・
> 新規windowを生成した時にそのwindowIDが有り名前では無くIDの方からwindowを特定とロードしているのは分かっているんですが
> ウィンドウ保存した場合にそのwindowのidを見るコマンドが分からないのとロードが分からない・・・
> (正確にはロード方法は多分わかってますがIDが分からないので試せない)
>
> 出来ればwindowでは無くフォームの方みたいに縦並べのピン留め出来るようなのが良いのですが
> ウィンドウなのでしょうがないですよね・・・?


たぶんお作りになりたいのは、ポップオーバースタイルのフォームではないかと推測します。フォームエディタのPopoversのタブを開くと現在MODOで使用されているポップオーバーのフォームが参照できますので、作りたい物に一番近い物を複製して作成していくのが良いかと思います。フォームエディタのFind Formのボタンを使えば、実際に使われているフォームを見つけることができますし、Preview Formを使えばフォームをプレビューしてみることもできます。


回复全部
回复作者
转发
0 个新帖子