• 闇鍋プラグイン 近傍頂点から法線・UV・ウェイト転送機能追加

    2015-04-26 19:0615時間前41
    闇鍋プラグイン(https://bowlroll.net/file/9765)に

    ・選択材質から選択頂点の近傍頂点を取得して法線を置き換える。
    ・選択材質から選択頂点の近傍頂点を取得してその法線と選択頂点の法線を合成した物に置き換える。
    ・選択材質から選択頂点の近傍頂点を取得してその法線と選択頂点の法線を合成したと選択頂点の法線を合成して置き換える。
    ・選択材質から選択頂点の近傍頂点を取得してUVを置き換える。
    ・選択材質から選択頂点の近傍頂点を取得してウェイトを置き換える。

    を追加しました。

    ソースコードここおいとくのでPMDEで動かしたい人は自分でビルドしてくださいな。
    https://bowlroll.net/file/69208

    ■MaterialVertexNormal2selectedVertexA.dll
    選択材質から選択頂点の近傍頂点を取得して法線を置き換える。

    ■MaterialVertexNormal2selectedVertexB.dll
    選択材質から選択頂点の近傍頂点を取得してその法線と選択頂点の法線を合成した物に置き換える。

    ■MaterialVertexNormal2selectedVertexC.dll
    選択材質から選択頂点の近傍頂点を取得してその法線と選択頂点の法線を合成したと選択頂点の法線を合成して置き換える。

    ■MaterialVertexUV2SelectedVertex.dll
    選択材質から選択頂点の近傍頂点を取得してUVを置き換える。

    ■MaterialVertexWeight2SelectedVertex.dll
    選択材質から選択頂点の近傍頂点を取得してウェイトを置き換える。

    ■使用例(使い方は全て同様となります。)
    ・球オブジェクトより法線を転写する。
    モデルを読み込みます。


    「簡易プリミティブ追加」をクリックします。



    「位置」を頭ボーンのあたり
    タイプ:球
    半径:3
    分割数(経):120
    分割数(緯):120
    にして「追加」を押します。



    球が作成されます。この球の法線を顔に転写してみます。


    頂点/材質マスキングで顔の頂点を選択します。


    「球」の材質を選択します。


    プラグインを実行します。



    完了しましたら以下のメッセージがでます。


    影の形状が以下の様になります。
    ↓実行後の顔の影


    ↓実行前の顔の影


    鼻筋・唇・あごのラインの影が変わっているのがわかると思います。
    なお、法線の単純転写よりは合成の方が使える気はします。

    実験する限りでは「球」「円柱」「球に比較的近いカプセル」等が転写元として使用できます。(同一形状であれば単純転写機能として使えます。)

    以上です。


    この記事のコメント欄は以下の記事通り解放します
    http://ch.nicovideo.jp/t0r0/blomaga/ar760385


  • 広告
  • MyDNS-ngでのrpz管理メモ

    2015-04-18 10:511

    MyDNS-ngでrpz管理してみるテスト

    http://mydns-ng.com/

    DLはここから

    MyDNSが構造的に管理一番楽かも。

    ■構成
    VMwarePlayer上で構築
    ・master
    OS:CentOS7
    MyDNS
    PostgreSQL
    IP:192.168.0.10

    ・slave
    OS:CentOS6
    BIND:bind-9.10.1
    IP:192.168.0.11

    ■パッケージ作成
    ・DL
    http://sourceforge.net/projects/mydns-ng/files/
    ここからファイルDL

    ・標準添付specファイル
    tar -xvzf mydns-1.2.8.31.tar.gz

    ここにspecファイルが存在
    cd ./ mydns-1.2.8.31/pkg

    specファイル一覧
    -----------------------------------------------------------
    mydns-mysql.spec
    mydns-mysql.spec.in
    mydns-postgres.spec
    mydns-postgres.spec.in
    -----------------------------------------------------------

    mydns-postgres.spec
    今回はPostgreSQLを使うのでこれを元に使用


    ・specファイルの必要最低限の変更
    そのままだといろいろ都合が悪いのでspecファイルに手を入れていく
    Name: mydns-postgres

    Name: mydns
    に変更

    Copyright: GPL

    License: GPL

    %configure --without-mysql --with-pgsql --enable-static-build

    %configure --without-mysql --with-pgsql --enable-static-build --with-pgsql-lib=/usr/lib64
    に変更

    MYSQLの時はこう。
    %configure --with-mysql --without-pgsql --enable-static-build --with-mysql-lib=/usr/lib64/mysql --with-zlib=/usr/lib64

    ・specファイルの追加変更
    CentOS7にあわせてsystemd用に書き換えたり追加の設定ファイルをいろいろ追加配置(systemdよーわからなす)
    変更点は以下
    -----------------------------------------------------------
    12a13,16
    > Source1: mydns.service
    > Source2: mydns.sysconfig
    > Source3: mydns.httpd
    >
    27,28c31,44
    < mkdir -p ${RPM_BUILD_ROOT}/etc/rc.d/init.d
    < install -c -m 755 contrib/mydns.redhat ${RPM_BUILD_ROOT}/etc/rc.d/init.d/mydns
    ---
    > #CentOS7
    > # Systemd unit files
    > mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
    > install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_unitdir}
    >
    > #CentOS6
    > #mkdir -p ${RPM_BUILD_ROOT}/etc/rc.d/init.d
    > #install -c -m 755 contrib/mydns.redhat ${RPM_BUILD_ROOT}/etc/rc.d/init.d/mydns
    >
    > mkdir -p ${RPM_BUILD_ROOT}/etc/sysconfig
    > install -m 644 %{SOURCE2} ${RPM_BUILD_ROOT}/etc/sysconfig/mydns
    >
    > mkdir -p ${RPM_BUILD_ROOT}/etc/httpd/conf.d
    > install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}/etc/httpd/conf.d/mydns.conf
    64c80,83
    < /sbin/chkconfig --add mydns
    ---
    > #CentOS7
    > systemctl enable mydns >/dev/null 2>&1
    > #CentOS6
    > # /sbin/chkconfig --add mydns
    69c88,91
    < /sbin/chkconfig --del mydns
    ---
    > #CentOS7
    > systemctl disable mydns>/dev/null 2>&1
    > #CentOS6
    > # /sbin/chkconfig --del mydns
    74c96,99
    < /sbin/service mydns condrestart >/dev/null 2>&1
    ---
    > #CentOS7
    > systemctl restart mydns >/dev/null 2>&1
    > #CentOS6
    > # /sbin/service mydns condrestart >/dev/null 2>&1
    91c116,125
    < %config /etc/rc.d/init.d/mydns
    ---
    >
    > #CentOS7
    > %{_unitdir}/mydns.service
    > #CentOS6
    > #%config /etc/rc.d/init.d/mydns
    >
    > %config /etc/sysconfig/mydns
    >
    > %config /etc/httpd/conf.d/mydns.conf
    >

    ・追加ファイル
    mydns.httpd
    -----------------------------------------------------------
    Alias /mydns/ "/usr/share/mydns/"
    <Location /mydns>
    Options All
    Require all granted
    Order deny,allow
    Deny from all
    Allow from localhost
    </Location>

    mydns.service
    -----------------------------------------------------------
    [Unit]
    Description=MyDNS Service
    After=syslog.target postgresql.service

    [Service]
    Type=forking
    EnvironmentFile=-/etc/sysconfig/mydns
    ExecStart=/usr/sbin/mydns --background $OPTIONS
    PrivateTmp=true

    [Install]
    WantedBy=multi-user.target

    mariadb使用の際はこの部分を変更
    After=syslog.target mariadb
    .service


    mydns.sysconfig
    -----------------------------------------------------------
    中身なし


    ・パッケージのビルド
    mydns-1.2.8.31.tar.gz
    とか追加のファイルを./rpmbuild/SOURCESにコピー
    specファイルを./rpmbuild/SPECSにコピー

    cd ./rpmbuild/SPECS
    rpmbuild -ba mydns-postgres.spec

    パッケージが作成できたならば
    rpm --install ../RPMS/x86_64/mydns-1.2.8.31-1.x86_64.rpm
    これでインストール

    サービスはenableにしているのでDBの作成に

    ■DB作成
    /usr/share/doc/mydns-1.2.8.31/QUICKSTART.postgres
    に従って作成していく。

    但しその説明では
    /usr/local/sbin/mydns --create-tables | psql mydns
    となっているが出力されるSQLに問題があるので出力させて修正する。

    /usr/sbin/mydns --create-tables >/tmp/mydns.sql
    rrテーブルのdata列の型をBYTEAからTEXTに変更する。
    -----------------------------------------------------------
    36c36
    < data BYTEA NOT NULL,
    ---
    > data TEXT NOT NULL,

    修正完了したら以下でテーブル等を作成する。
    cat /tmp/mydns.sql|psql mydns

    mydnsデータベースの権限を「/etc/mydns.conf」に設定したものにあわせて調整する。

    ■mydnsの設定
    ・DBの接続設定
    -----------------------------------------------------------
    db-host = localhost
    db-user = DBユーザー
    db-password = DBユーザーパスワード
    database = mydns

    ・追加設定
    -----------------------------------------------------------
    allow-axfr = yes
    allow-tcp = yes

    notify-enabled = yes
    notify-source = 192.168.0.0/24
    ixfr-enabled = yes
    このあたりを適当に変更

    ■サービス起動
    systemctl start mydns
    これでエラーが出なければ特に問題なし。

    地味にPortかぶりが判り辛かった。(同じ機能ばかばかひとつに入れるなという話もw)

    ■レコード追加
    便利なレコード追加ツール(/usr/sbin/mydnsimport)が付属してる。

    既存の権威DNSサーバー(named-sdbのもの)からこんな感じで吸い上げられる。

    /usr/sbin/mydnsimport --axfr=127.0.0.1 rpz.local -o
    -----------------------------------------------------------
    soa rpz.local. localhost. root.localhost. 1 10800 3600 604800 3600 3600
    rr NS localhost. 0 1800
    rr www.yahoo.co.jp. A 127.0.0.1 0 1800
    rr mail.example.org. CNAME rpz-passthru. 0 1800
    rr *.www.google.co.jp. A 127.0.0.1 0 1800
    rr *.tcp.example.org. CNAME rpz-tcp-only. 0 1800
    rr *.nxdoamin.example.org. CNAME . 0 1800
    rr *.nodata.example.org. CNAME *. 0 1800
    rr *.drop.example.org. CNAME rpz-drop. 0 1800

    データを突っ込めれば準備完了

    ■ゾーン確認
    dig AXFR rpz.local @127.0.0.1
    これで突っ込んだ内容が出力されればOK


    ■web管理ツールの設定
    $dbhost = "localhost";
    $dbuser = "DBユーザー";
    $dbpass = "DBユーザーパスワード";
    $dbname = "mydns";


    $use_pgsql = 0;
    これを
    $use_pgsql = 1;
    に変更。
    これで管理ツールは動作するはず。
    但し、rpzで使用する「*.」この記述はエラー処理に引っかかる為いじらないと入力できませぬ。



  • rndc addzone/delzoneを使って動的にゾーンブロックの追加削除のめも

    2015-04-15 20:191

    rndc addzone/delzoneを使って動的にゾーンブロックの追加削除を行ってみるてすつ

    http://dnsops.jp/bof/20101125/BIND_9-addzone-delzone-00.pdf
    ↑参考

    ■構成
    VMwarePlayer上で構築
    ・master
    OS:CentOS7
    BIND:bind-9.10.2
    IP:192.168.0.10
    設定ファイルはsdbのテストを行ったものをそのまま使用


    ■必要な条件
    ・追加されるゾーンの保存されるファイル
    /var/named/3bf305731dd26307.nzf
    viewを使うとそれぞれにファイル分かれるらしい。(viewでの動作は調べませんw)

    ・必要な条件
    /var/namedにnamedユーザーでの書き込み権限
    /var/named/3bf305731dd26307.nzfにnamedユーザーでの書き込み権限

    /var/named/3bf305731dd26307.nzf
    をaddzoneの初回/delzoneする度にファイルの作成をしてるっぽいので
    --------------------------------------------------------------------------------
    chmow 770 /var/named
    これしないと
    rndc: 'delzone' failed: permission denied
    これ食らう。

    addzoneはファイルが存在していてnamedユーザーが書き込めればOK。(初回のみ新規作成)

    /var/namedは
    drwxr-x--- 5 root named
    なので変更面倒
    ファイルの置き場所変えるoptionどこよ。

    /etc/named.conf
    optionsに以下追加
    --------------------------------------------------------------------------------
    allow-new-zones yes;

    とりあえずサービス再起動
    systemctl restart named-sdb

    ■ブロック用ゾーンファイル
    適当にこんなもんで
    /var/named/block.zone
    --------------------------------------------------------------------------------
    $TTL 300
    @ IN SOA @ block.zone. (
    0 ; serial
    1D ; refresh
    1H ; retry
    1W ; expire
    3H ) ; minimum
    NS blockns
    TXT "BlockZone"
    A 127.0.0.1
    AAAA ::1
    blockns A 127.0.0.1
    * A 127.0.0.1
    * AAAA ::1
    --------------------------------------------------------------------------------


    ■テスト
    ・追加
    rndc addzone example.jp '{type master;file "block.zone";};'
    rndc addzone example.net '{type master;file "block.zone";};'
    rndc addzone example.org '{type master;file "block.zone";};'

    保存ファイル内容確認
    cat 3bf305731dd26307.nzf
    --------------------------------------------------------------------------------
    # New zone file for view: _default
    # This file contains configuration for zones added by
    # the 'rndc addzone' command. DO NOT EDIT BY HAND.
    zone "example.jp" {type master;file "block.zone";};
    zone "example.net" {type master;file "block.zone";};
    zone "example.org" {type master;file "block.zone";};
    --------------------------------------------------------------------------------

    追加されたか確認
    dig ANY example.jp @127.0.0.1
    dig ANY example.net @127.0.0.1
    dig ANY example.org @127.0.0.1

    ・削除
    rndc delzone example.jp

    保存ファイル内容確認
    cat 3bf305731dd26307.nzf
    # New zone file for view: _default
    # This file contains configuration for zones added by
    # the 'rndc addzone' command. DO NOT EDIT BY HAND.
    dig ANY example.net @127.0.0.1
    dig ANY example.org @127.0.0.1

    削除されたか確認
    dig ANY example.jp @127.0.0.1

    サービス再起動を行っても特に問題なし。

    ■全消去
    全部消す場合は
    /var/named/3bf305731dd26307.nzfを消して
    rndc reconfig
    でいける。

    正規手順ではないけどw

    ■おまけ
    こんな感じでコメント入れられるっぽいw
    rndc addzone example.jp '{type master;file "block.zone";}; #20150401 こめんといけるっぽい'

    中身確認するとちゃんと入ってるw
    cat 3bf305731dd26307.nzf
    --------------------------------------------------------------------------------
    # New zone file for view: _default
    # This file contains configuration for zones added by
    # the 'rndc addzone' command. DO NOT EDIT BY HAND.
    zone "example.jp" {type master;file "block.zone";}; #20150401 こめんといけるっぽい
    --------------------------------------------------------------------------------

    ちゃんと返答も返ってくるw
    dig ANY example.jp @127.0.0.1
    --------------------------------------------------------------------------------
    ; <<>> DiG 9.10.2rc1-RedHat-9.10.2-0.1.rc1.el7 <<>> example.jp ANY @127.0.0.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43610
    ;; flags: qr aa rd; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 2
    ;; WARNING: recursion requested but not available

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;example.jp. IN ANY

    ;; ANSWER SECTION:
    example.jp. 300 IN SOA example.jp. block.zone. 0 86400 3600 604800 10800
    example.jp. 300 IN NS blockns.example.jp.
    example.jp. 300 IN TXT "BlockZone"
    example.jp. 300 IN A 127.0.0.1
    example.jp. 300 IN AAAA ::1

    ;; ADDITIONAL SECTION:
    blockns.example.jp. 300 IN A 127.0.0.1
    --------------------------------------------------------------------------------

    ■スレイブ
    こんな感じで投入。コメントもいけるっぽい
    rndc addzone example.net '{type slave;file "example.net.zone"; masters {192.168.0.11;};}; #20150401 こめんともいけるっぽい'

    投入結果はこんな感じ
    cat 3bf305731dd26307.nzf
    --------------------------------------------------------------------------------
    # New zone file for view: _default
    # This file contains configuration for zones added by
    # the 'rndc addzone' command. DO NOT EDIT BY HAND.
    zone "example.jp" {type master;file "block.zone";}; #20150401 こめんといけるっぽい
    zone "example.net" {type slave;file "example.net.zone"; masters {192.168.0.11;};}; #20150401 こめんともいけるっぽい
    --------------------------------------------------------------------------------

    削除は同様
    rndc delzone example.net