3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HoudiniAdvent Calendar 2024

Day 9

SOP Volume Center Points をビルドして遊んでみる

Last updated at Posted at 2024-12-08

はじめに

なんかネタないかな~と安直な気持ちでネットサーフィンしてたら見つけたので、というのがこのポストを書いた理由:stuck_out_tongue_closed_eyes:

動く動かないとかよりも、とりあえず触ってみて、吸収するスタンス。大事。

環境

  • Houdini 20.5.410

ソースコード

大本のソースコード

ビルドする

大本のソースコードは Premake5 でビルドするように出来ている。
まぁ、そのまま Premake5 でビルドしてみるのでもいいが、 ソースコードによっては Houdini のビルドサポートを受けた方が安パイなこともある ので、Houdini 側がサポートしている CMake でのビルド手段を取る。

追記:2024/12/13
Premake5 を使ってのビルドも実際のところできる。Makefile を使ってできるので、その場合は、Premake5 の使用方法に習ってビルドすること。

ということで、CMakeLists.txt を作成して書く。
配置場所はルートで良い。

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 を起動できるように設定しているので、すぐに立ち上げれるようにしていたりする。

image.png

また、最近はエディタに NeoVim 構成をしているので、CMake プラグインを導入していると、:CMakeQuickBuild コマンドでサクッとビルドできるようにしている。
CMakeLists.txt を裏でビルドしながらのコーディングもできるので、まーじで便利。

image.png

image.png

SOP VOlume Center POints を使ってみる

こういうボリュームに対して、

image.png

こういうポイントを生成できる。

image.png

image.png

え?やってることって、Point From Volueme と一緒では…? (困惑)

ええぇ。そう。Point from Volume でも同じことがやれる。
というか、SOP Volume Center Points は処理の関係上、Volume を元のジオメトリの位置に作成していても、0座標のところにポイント郡が作成されてしまう。
Point from Volume の方はそれがない。

赤が Point from Volume で、青が SOP Volume Center Points。
テンプレートが元のジオメトリ。

image.png

さいごに

まぁ、別のノードでもできるじゃん!ってのは、結果論ではあるのだけど、こうして CMake 作ったり、CMake の環境を試してみたり、みんなどんな考えでノード作ったりしてるのかな?とか、コードを読んだりしながら学べるのはまた面白い分野でもある。
そう、こういう事にも無駄はないのである(言い切り) :exclamation::exclamation::exclamation:

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?