๐ŸŽ›๏ธ :: Nannou ์ดˆ๊ธฐ ์„ธํŒ…

BamgasiJMยท2025๋…„ 9์›” 10์ผ

Nannou <BASIC>

๋ชฉ๋ก ๋ณด๊ธฐ
3/41
post-thumbnail

Nannou ์„ค์น˜ํ•˜๊ธฐ

1. Rust ์–ธ์–ด ์„ค์น˜

https://www.rust-lang.org/tools/install
์„ค์น˜ ํ›„ rustc --version์œผ๋กœ ๋ฒ„์ „ ํ™•์ธ

2. ์ž‘์—… ํด๋” ์ƒ์„ฑ

  • ํด๋” ์ด๋ฆ„์€ ๋‚˜์ค‘์— ๋ณ€๊ฒฝํ•˜์—ฌ๋„ ์ƒ๊ด€์—†๋‹ค. Cargo.toml ์†์˜ name์ด ์ค‘์š”ํ•จ.
[package]
name = "Projects"
  • VSCode์—์„œ ์ž‘์—… ํด๋” ์—ด๊ธฐ
  • ํ„ฐ๋ฏธ๋„์—์„œ cargo new MY_NANNOU_PROJECT ๋กœ rust ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๊ธฐ๋ณธ ์„ธํŒ… ์‹คํ–‰
  • ํ„ฐ๋ฏธ๋„์—์„œ cargo run์„ ์ž…๋ ฅํ•˜๋ฉด ์ž๋™ ์ƒ์„ฑ๋œ main.rs ๊ฐ€ ์‹คํ–‰๋จ

3. nannou ์„ค์น˜

: nannou ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Rust ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •

    1. Cargo.toml ํŒŒ์ผ์— ์•„๋ž˜ ์ฝ”๋“œ ์ถ”๊ฐ€ํ•˜๊ณ  ์ €์žฅ
[dependencies]
nannou = "0.19"
    1. ํ„ฐ๋ฏธ๋„์—์„œ cargo build ์ž…๋ ฅํ•˜๋ฉด nannou๊ฐ€ ํ”„๋กœ์ ํŠธ์— ์„ค์น˜๋จ

4. ํด๋” ๊ตฌ์กฐ ์„ธํŒ…

nannou_art/
โ”œโ”€โ”€ Cargo.toml              # Rust ํ”„๋กœ์ ํŠธ ์„ค์ • ํŒŒ์ผ
โ”œโ”€โ”€ Cargo.lock              # ์˜์กด์„ฑ ์ž ๊ธˆ ํŒŒ์ผ
โ”œโ”€โ”€ target/             	# ๋นŒ๋“œ ์ถœ๋ ฅ ๋””๋ ‰ํ† ๋ฆฌ
โ”‚   โ”œโ”€โ”€ debug/              # ๋””๋ฒ„๊ทธ ๋นŒ๋“œ
โ”‚   โ””โ”€โ”€ release/            # ๋ฆด๋ฆฌ์Šค ๋นŒ๋“œ
โ””โ”€โ”€ src/                	# ์†Œ์Šค ์ฝ”๋“œ ๋””๋ ‰ํ† ๋ฆฌ
    โ”œโ”€โ”€ main.rs         	# ๊ธฐ๋ณธ ๋ฉ”์ธ ํŒŒ์ผ (์„ ํƒ์‚ฌํ•ญ)
    โ””โ”€โ”€ bin/            	# ์—ฌ๋Ÿฌ ์‹คํ–‰ ํŒŒ์ผ์„ ์œ„ํ•œ ๋””๋ ‰ํ† ๋ฆฌ
        โ”œโ”€โ”€ sketch_1.rs 	# ์ฒซ ๋ฒˆ์งธ ์Šค์ผ€์น˜
        โ”œโ”€โ”€ sketch_2.rs 	# ๋‘ ๋ฒˆ์งธ ์Šค์ผ€์น˜
        โ””โ”€โ”€ ...         	# ๋‹ค๋ฅธ .rs ํŒŒ์ผ๋“ค

Nannou ์‹คํ–‰ํ•˜๊ธฐ

: ํ„ฐ๋ฏธ๋„์—์„œ cargo ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ target ํด๋”์— ์‹คํ–‰ํŒŒ์ผ์„ ์ƒ์„ฑํ•จ

cargo build

:์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋นŒ๋“œ๋งŒ ์ˆ˜ํ–‰ (๋””๋ฒ„๊ทธ ๋ชจ๋“œ)

cargo run

: ํ˜„์žฌ crate๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ (๋””๋ฒ„๊ทธ ๋ชจ๋“œ)

cargo run --release

: ์ตœ์ ํ™”๋œ ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋นŒ๋“œ ํ›„ ์‹คํ–‰ : ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ, ์ตœ์ข… ๋ฐฐํฌ์šฉ
: cargo run --release --bin sketch_1

cargo run --bin sketch_1

:bin ํด๋” ์† sketch_1.rs๋ฅผ ์‹คํ–‰

cargo build --release

: ์ตœ์ ํ™”๋œ ๋นŒ๋“œ, ์‹คํ–‰ํŒŒ์ผ๋งŒ ํ•„์š”ํ•  ๋•Œ

cargo check

: ๋นŒ๋“œ ํ…Œ์ŠคํŠธ๋งŒ ์ˆ˜ํ–‰. ์‹คํ–‰ํŒŒ์ผ์€ ๋งŒ๋“ค์ง€ ์•Š์Œ. ๋ฌธ๋ฒ•/ํƒ€์ž…์—๋Ÿฌ ์ฒดํฌ์šฉ

cargo clean

: ๋นŒ๋“œํ•œ ๋ชจ๋“  ํŒŒ์ผ ๋ฐ ๋ฆฌ์†Œ์Šค ์‚ญ์ œ

cargo watch -x "run --bin skecth_1

: ์ €์žฅํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ (ํ”„๋กœ์ ํŠธ ํด๋” ์† ์ „์ฒด ํŒŒ์ผ์„ ๊ฐ์ง€)
: cargo install cargo-watch ๋กœ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉ

cargo watch -w src/bin/sketch_1.rs -x "run --bin skecth_1

: sketch_1.rs ํŒŒ์ผ์„ ์ €์žฅํ•  ๋•Œ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰

profile
Coding Art with Blender / oF / Processing / p5.js / nannou

0๊ฐœ์˜ ๋Œ“๊ธ€