はじめに
なんかネタないかな~と安直な気持ちでネットサーフィンしてたら見つけたので、というのがこのポストを書いた理由
動く動かないとかよりも、とりあえず触ってみて、吸収するスタンス。大事。
環境
- Houdini 20.5.410
ソースコード
大本のソースコード
ビルドする
大本のソースコードは Premake5 でビルドするように出来ている。
まぁ、そのまま Premake5 でビルドしてみるのでもいいが、 ソースコードによっては Houdini のビルドサポートを受けた方が安パイなこともある ので、Houdini 側がサポートしている CMake でのビルド手段を取る。
追記:2024/12/13
Premake5 を使ってのビルドも実際のところできる。Makefile を使ってできるので、その場合は、Premake5 の使用方法に習ってビルドすること。
ということで、CMakeLists.txt を作成して書く。
配置場所はルートで良い。
cmake_minimum_required(VERSION 3.8)
project("SOP_VolumeCenterPoints")
# Find Houdini Package
find_package(Houdini REQUIRED)
# Set the name of the node
set (library_name ${PROJECT_NAME})
# Add a library with the sources
add_library(${library_name} SHARED
SOP_VolumeCenterPoints.C
SOP_VolumeCenterPoints.h
)
# Support to compile against Houdini headers
houdini_configure_target(${library_name})
# Target libraries
target_link_libraries(${library_name} PRIVATE Houdini)
target_include_directories(${library_name} PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
)
CMake ビルドを行う
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019 Win64"
cmake --build . --config Release
最近の僕のらくちん CMake Houdini ビルド構成
基本的には Command Line Tools 上で操作を行う。色々環境設定してくれてるので。
僕の場合は、Windows Terminal に Command Line Tools を起動できるように設定しているので、すぐに立ち上げれるようにしていたりする。
また、最近はエディタに NeoVim 構成をしているので、CMake プラグインを導入していると、:CMakeQuickBuild コマンドでサクッとビルドできるようにしている。
CMakeLists.txt を裏でビルドしながらのコーディングもできるので、まーじで便利。
SOP VOlume Center POints を使ってみる
こういうボリュームに対して、
こういうポイントを生成できる。
え?やってることって、Point From Volueme と一緒では…? (困惑)
ええぇ。そう。Point from Volume でも同じことがやれる。
というか、SOP Volume Center Points は処理の関係上、Volume を元のジオメトリの位置に作成していても、0座標のところにポイント郡が作成されてしまう。
Point from Volume の方はそれがない。
赤が Point from Volume で、青が SOP Volume Center Points。
テンプレートが元のジオメトリ。
さいごに
まぁ、別のノードでもできるじゃん!ってのは、結果論ではあるのだけど、こうして CMake 作ったり、CMake の環境を試してみたり、みんなどんな考えでノード作ったりしてるのかな?とか、コードを読んだりしながら学べるのはまた面白い分野でもある。
そう、こういう事にも無駄はないのである(言い切り)