Nuke - Как выбрать случайные узлы с помощью Python? - PullRequest
1 голос
/ 06 июля 2019

Я не очень опытный в Python - я хотел бы немного помочь с некоторым кодом. Я пытаюсь выбрать два случайных узла из всех выбранных узлов в nuke.

У меня достаточно далеко, чтобы я мог напечатать два случайно выбранных имени узла в массиве выбранных узлов, но может ли кто-нибудь помочь закончить код, чтобы выбрать два узла с совпадающими именами? По сути, я представляю, если имя узла содержит chosen_nodes строку, выберите эти узлы.

Спасибо.

import nuke
import random

array = [] 
for node in nuke.selectedNodes(): 
    n = node['name'].value()
    array.append(n) 

chosen_nodes = random.sample(array, k=2)
print chosen_nodes

1 Ответ

0 голосов
/ 13 июля 2019

С помощью этого кода вы можете выбрать два случайных узла из нескольких выбранных:

import nuke
import random

array = [] 

for node in nuke.selectedNodes():
    name = node['name'].value()
    array.append(name) 

print(array)

if nuke.selectedNodes():
    for index in nuke.selectedNodes():
        index['selected'].setValue(False)

for i in range(1, 3, 1):      # range(start, non-inclusive stop, step)
    r = random.randint(1, len(array))
    nuke.toNode(array[r-1]).setSelected(True)
    array.remove(array[r-1])  # delete randomly generated element from array

array = []

enter image description here

...