I used Skanect to scan my room down. The .ply file generated is like this:
0.614557 -0.0194625 -0.305274 -0.127814 -0.551592 0.824263 100 113 96
0.614418 -0.019946 -0.305417 -0.127814 -0.551592 0.824263 98 111 96
0.61429 0.00103368 -0.303381 0.0386538 -0.603242 0.796621 104 107 95
…
扫描用的工具叫Skanect,参见上一篇
导出的.ply文件大概是这样
0.614557 -0.0194625 -0.305274 -0.127814 -0.551592 0.824263 100 113 96
0.614418 -0.019946 -0.305417 -0.127814 -0.551592 0.824263 98 111 96
0.61429 0.00103368 -0.303381 0.0386538 -0.603242 0.796621 104 107 95
…
9 columns are x, y, z, xn(normal), yn, zn, r, g, b.
Took me a while to make it work because I didn’t know shit about Python itself or Maya Python. So if you’re in fog too I present you Python functions for Maya.
Notes:
Attributes have types, I forgot because Python fed me honey on this one. Stuck for a day.
emit() is buggy, it crashed the soul out of me when I used at=’rgbPP’ , use setParticleAttr() instead
Important, after importing, do ‘set current state to initial state’ and cache the first frame, otherwise the color will be gone next time you start it, this is some bullshit.
To hide part of the point cloud, select and cmds.setParticleAttr(at=’opacityPP’, fv=0).
[py]
## Maya Point Cloud (.xyz) Importer
## Format: X Y Z ,a ,a a, R, G, B for every line
## Page: http://axlarts.com/?p=1923
from maya import cmds
RES=100 # Only draw one particle for every RES lines in the file,
# in case of huge cloud but only need reference in the scene.
path=cmds.fileDialog2(ds=2,fm=1)[0]
f0=open(path)
n=0; pn=0
p0=cmds.nParticle()[1]
cmds.setAttr(p0+’.isDynamic’,0)
cmds.addAttr(p0,ln=’rgbPP’,dt=’vectorArray’)
while 1:
line=f0.readline().split(‘ ‘)
n+=1
if line[0]==”:
break
if n%10000==0:
print "%d lines %d particles\n" % (n, pn)
if n%RES!=0:
continue
rotted=False
xyz=[]
for doll in line:
try:
dollF=float(doll)
except ValueError:
rotted=True
print ‘(Warning) Invalid value %s in line%d: %s’ % (doll,n,line)
break
xyz.append(dollF)
if len(line)!=9:
rotted=True
if rotted:
continue
for a in range(6,9): #Just because it’s x y z bla bla bla r g b in my case
xyz[a]/=255
cmds.emit(object=p0,position=xyz[:3])
cmds.select(p0+’.pt[‘+str(pn)+’]’)
cmds.setParticleAttr(at=’rgbPP’, vv=xyz[6:9])
pn+=1
[/py]
Additional Python script to import particles, using only the first 3 numbers everyline as x,y,z and ignoring others.
There surely is way to make this more compatible but that’s too much effort..
[py]
## Maya Point Cloud (.xyz) Importer
## Format: X Y Z for every line
## Page: http://axlarts.com/?p=1923
from maya import cmds
RES=1 # Only draw one particle for every RES lines in the file,
# in case of huge cloud but only need reference in the scene.
path=cmds.fileDialog2(ds=2,fm=1)[0]
f0=open(path)
n=0; pn=0
p0=cmds.nParticle()[1]
cmds.setAttr(p0+’.isDynamic’,0)
cmds.addAttr(p0,ln=’rgbPP’,dt=’vectorArray’)
while 1:
line=f0.readline().split(‘ ‘)
n+=1
if line[0]==”:
break
if n%10000==0:
print "%d lines %d particles\n" % (n, pn)
if n%RES!=0:
continue
rotted=False
xyz=[]
for doll in line:
try:
dollF=float(doll)
except ValueError:
rotted=True
print ‘(Warning) Invalid value %s in line%d: %s’ % (doll,n,line)
break
xyz.append(dollF)
if len(line)<3:
rotted=True
if rotted:
continue
cmds.emit(object=p0,position=xyz[:3])
pn+=1
[/py]
9行分别是 x, y, z, xn, yn, zn, r, g, b,xn是normal方向。
所以用个脚本从文件读数据-添加粒子就行了。
搜到这里的同学估计和我半斤八两,所以我present你Maya Python函数表

效果图(脚本见文末)
小记:
添加attribute注意类型,Python让我忘了这茬了,卡了我半天。
emit()函数有bug,直接 at=‘rgbPP’ 的话会崩溃,要用setParticleAttr()
5/1/2013 Update:
导入以后要先set current state to initial state 然后存下首帧cache,不然颜色会丢掉。
不要的部分可以选中然后 cmds.setParticleAttr(at=’opacityPP’, fv=0) 隐藏。
[py]
## Maya Point Cloud (.xyz) Importer
## Format: X Y Z ,a ,a a, R, G, B for every line
## Page: http://axlarts.com/?p=1923
from maya import cmds
RES=100 # Only draw one particle for every RES lines in the file,
# in case of huge cloud but only need reference in the scene.
path=cmds.fileDialog2(ds=2,fm=1)[0]
f0=open(path)
n=0; pn=0
p0=cmds.nParticle()[1]
cmds.setAttr(p0+’.isDynamic’,0)
cmds.addAttr(p0,ln=’rgbPP’,dt=’vectorArray’)
while 1:
line=f0.readline().split(‘ ‘)
n+=1
if line[0]==”:
break
if n%10000==0:
print "%d lines %d particles\n" % (n, pn)
if n%RES!=0:
continue
rotted=False
xyz=[]
for doll in line:
try:
dollF=float(doll)
except ValueError:
rotted=True
print ‘(Warning) Invalid value %s in line%d: %s’ % (doll,n,line)
break
xyz.append(dollF)
if len(line)!=9:
rotted=True
if rotted:
continue
for a in range(6,9): #Just because it’s x y z bla bla bla r g b in my case
xyz[a]/=255
cmds.emit(object=p0,position=xyz[:3])
cmds.select(p0+’.pt[‘+str(pn)+’]’)
cmds.setParticleAttr(at=’rgbPP’, vv=xyz[6:9])
pn+=1
[/py]
另外附加只看每行前3个数字作为xyz,忽略其他的python脚本
当然可以并成一个了但是没那闲情..
[py]
## Maya Point Cloud (.xyz) Importer
## Format: X Y Z for every line
## Page: http://axlarts.com/?p=1923
from maya import cmds
RES=1 # Only draw one particle for every RES lines in the file,
# in case of huge cloud but only need reference in the scene.
path=cmds.fileDialog2(ds=2,fm=1)[0]
f0=open(path)
n=0; pn=0
p0=cmds.nParticle()[1]
cmds.setAttr(p0+’.isDynamic’,0)
cmds.addAttr(p0,ln=’rgbPP’,dt=’vectorArray’)
while 1:
line=f0.readline().split(‘ ‘)
n+=1
if line[0]==”:
break
if n%10000==0:
print "%d lines %d particles\n" % (n, pn)
if n%RES!=0:
continue
rotted=False
xyz=[]
for doll in line:
try:
dollF=float(doll)
except ValueError:
rotted=True
print ‘(Warning) Invalid value %s in line%d: %s’ % (doll,n,line)
break
xyz.append(dollF)
if len(line)<3:
rotted=True
if rotted:
continue
cmds.emit(object=p0,position=xyz[:3])
pn+=1
[/py]
Осознанный гемблинг — это стратегия к азартным сессиям, базирующийся на контроле и понимании рисков.
Она включает осознанное лимитирование продолжительности и денег на игру.
Каждый участник должен заранее устанавливать пределы ставок и строго их соблюдать.
https://kart1na.ru/entry/338-ida-galich-prevratila-reys-v-kortezh-kak-bloger-shou-meyker-ustroila-svadebnyy-shabash-v-nebe/
Осознанный гемблинг — это принцип к игровым развлечениям, базирующийся на самоограничении и осознании рисков.
Она включает добровольное лимитирование продолжительности и бюджета на процесс.
Любой игрок должен предварительно устанавливать лимиты потерь и строго их соблюдать.
https://nashipesni.ru/pub/2026-07-03-magniy-marketingovyy-khod-ili-zhiznennaya-neobkhodimost/
Осознанный гемблинг — это подход к игровым развлечениям, базирующийся на контроле и понимании рисков.
Она предполагает добровольное ограничение времени и денег на процесс.
Любой участник обязан предварительно определять лимиты потерь и неукоснительно их соблюдать.
https://1-mk.ru/detail/466-litsenzirovanie-i-bezopasnost-kak-randx-zashchishchaet-igrokov/
References:
Monro Casino Anmeldung https://m.anwap.love/go_url.php?r=http://s.nas.vn/marilou7735271
References:
Hitspin casino http://t.napoto.cafe24.com/
References:
Hitnspin verifizierung https://link.zhihu.com/?utm_oi=35221042888704&target=https://wargaming.net/id/openid/redirect/confirm/?next=https://de.trustpilot.com/review/der-wikinger-shop.de
Разумное отношение к азарту — это принцип к игровым развлечениям, основанный на самоограничении и понимании рисков.
Она включает осознанное ограничение времени и денег на игру.
Любой игрок должен предварительно определять пределы потерь и неукоснительно их придерживаться.
https://mazko.ru/infopost/219-kriptovalyuty-v-onlayn-kazino-preimushchestva-riski-i-regulyativnye-voprosy/
Ответственная игра — это подход к казино, базирующийся на контроле и понимании последствий.
Эта концепция предполагает осознанное лимитирование времени и расходов на процесс.
Любой игрок обязан заранее устанавливать лимиты потерь и неукоснительно их соблюдать.
https://e-transavto.ru/read/kambek-argentiny-i-uverennyy-bilet-shveytsarii-razbor-matchey-483/
References:
Hitnspin casino bewertung http://toolbarqueries.google.co.in
Разумное отношение к азарту — это принцип к азартным сессиям, базирующийся на контроле и осознании последствий.
Она включает добровольное ограничение продолжительности и бюджета на игру.
Любой игрок обязан предварительно устанавливать пределы ставок и строго их соблюдать.
https://e-transavto.ru/read/pensii-kotorye-mogut-ischeznut-kak-vosstanovit-vyplaty-474/
Mindful gaming is a set of practices that ensure betting stays a form of entertainment rather than a means of financial strain.
It involves setting individual boundaries on time and money spent, as well as being aware of the indicators of harmful behaviour.
In essence, responsible gambling promotes conscious choices and helps users to maintain balance over their gaming habits.
https://pilot-club.ru/info/2026-06-16-ryazanskuyu-firmu-oshtrafovali-40-000-rubley-za-poddelnyy-insektitsid/
References:
Hitnspin gutscheincode http://www.googleadservices.com/url?q=https%3A%2F%2Fcr.naver.com%2Fredirect-notification%3Fu%3Dhttps%3A%2F%2Fde.trustpilot.com%2Freview%2Fder-wikinger-shop.de
References:
Hitnspin casino review https://orienteering.sport/go-to/?url_to=https://www.comita.ru/bitrix/click.php?goto=https://de.trustpilot.com/review/der-wikinger-shop.de
Разумное отношение к азарту — это принцип к азартным сессиям, основанный на контроле и осознании последствий.
Эта концепция включает добровольное лимитирование времени и денег на процесс.
Каждый участник должен предварительно устанавливать пределы ставок и строго их соблюдать.
https://pilot-club.ru/info/2026-07-08-update-or-upgrade-the-evolution-of-cashman-casino-over-the-years/
Разумное отношение к азарту — это подход к казино, основанный на контроле и понимании последствий.
Она подразумевает добровольное ограничение времени и бюджета на игру.
Каждый участник должен заранее определять пределы ставок и неукоснительно их соблюдать.
https://e-transavto.ru/read/pensii-kotorye-mogut-ischeznut-kak-vosstanovit-vyplaty-474/
Ответственная игра — это выбор, при котором азарт служат способом отдыха, а не средством поправить финансовое положение.
Она строится на управлении длительностью и бюджетом, а также на понимании личных границ.
https://rosotels.ru/detail/2026-07-09-kak-pogasit-kredit-bystro-prakticheskie-rekomendatsii.htm
Разумное отношение к азарту — это стратегия к казино, основанный на самоограничении и понимании рисков.
Она включает добровольное лимитирование продолжительности и бюджета на игру.
Любой участник должен заранее устанавливать лимиты потерь и строго их придерживаться.
https://nanmed.ru/read/4033-rise-to-fame-the-secret-to-cashman-casino-s-success-in-the-virtual-casino-industry/
References:
Hitnspin bewertung https://api.follow.it/redirect-to-url?q=https%3A%2F%2Fogle-morin.thoughtlanes.net/hitnspin-promo-code-2025-top-aktionscode-hier-einlosen
Responsible gambling is a collection of practices that guarantee gambling stays a recreational activity instead of a means of stress or loss.
Key aspects include setting individual limits on duration and money spent, as well as being aware of the signs of harmful behaviour.
Ultimately, responsible gambling encourages conscious choices and helps users to keep control over their gaming habits.
https://wolgograd.ru/column/2526-rich-casino-vs-competitors-a-comparative-analysis/
Responsible gambling is a collection of principles that guarantee betting stays a recreational activity instead of a source of stress or loss.
Key aspects include establishing personal boundaries on time and wagers, as well as being aware of the indicators of harmful behaviour.
Ultimately, this approach encourages informed decisions and helps players to maintain balance over their gaming activities.
https://omskapteka.ru/info/455-rich-casino-vs-competitors-a-comparative-analysis.htm
References:
Hitnspin casino review https://ntsr.info/bitrix/redirect.php?event1=&event2=&event3=&goto=http%3A%2F%2Fwww.lanubedocente.21.edu.ar%2Fprofile%2Fbutcherhhejoensen44572%2Fprofile
References:
Hitnspin casino ohne anmeldung https://goodmc.ru/proxy.php?link=https://www.news.lafontana.edu.co/profile/hawkinsgiopappas28648/profile
References:
Hitnspin casino no deposit bonus https://board-de.piratestorm.com/proxy.php?link=https://atomcraft.ru/user/candlewasher8/
Осознанный гемблинг — это принцип к азартным сессиям, основанный на контроле и понимании последствий.
Она предполагает добровольное ограничение продолжительности и бюджета на игру.
Любой участник должен заранее устанавливать лимиты потерь и строго их придерживаться.
https://rosotels.ru/detail/2026-06-27-valentina-matvienko-otsenila-nasledie-sergeya-ivanova.htm
Разумное отношение к азарту — это принцип к азартным сессиям, основанный на самоограничении и понимании рисков.
Она включает добровольное ограничение продолжительности и бюджета на игру.
Любой участник обязан предварительно определять пределы ставок и строго их соблюдать.
https://1-mk.ru/detail/445-pochemu-listya-maliny-zhelteyut-skrytaya-prichina-o-kotoroy-zabyvayut-dachniki/
References:
Hitnspin casino live spiele http://shababzgm.alafdal.net/go/aHR0cHM6Ly9tb2xjaGFub3ZvbmV3cy5ydS91c2VyL3BhaW50Z3JvdXAzLw
References:
Hit’n’spin casino 25 euro code http://wiki.sukhoi.ru/api.php?action=https://telegra.ph/Top-Spiele-und-unglaubliche-Boni-un-HitnSpin-Casino-06-07-2
References:
Hitnspin casino seriös https://kpbc.umk.pl/dlibra/login?refUrl=aHR0cHM6Ly94dHVtbC5vcmcvYXV0aG9yL3NoaXB2ZWluNDcv
References:
Hitnspin casino no deposit bonus https://li558-193.members.linode.com/proxy.php?link=https://alstr.in/kathlenerancou
Осознанный гемблинг — это принцип к игровым развлечениям, основанный на самоограничении и осознании рисков.
Эта концепция включает добровольное лимитирование продолжительности и расходов на процесс.
Каждый игрок обязан предварительно устанавливать пределы ставок и неукоснительно их соблюдать.
https://legicon-pravo.ru/data/3274-v-nenetskom-avtonomnom-okruge-vozbudili-delo-o-popytke-podkupa-mestnykh-vlastey.html
Mindful gaming is a set of principles that ensure gambling remains a form of entertainment instead of a means of stress or loss.
Key aspects include establishing personal boundaries on time and money spent, as well as being aware of the indicators of problematic behaviour.
In essence, this approach encourages conscious decisions and helps users to maintain control over their playing activities.
https://dvery35.ru/article/4219-rich-casino-vs-competitors-a-comparative-analysis.html
References:
Hitnspin casino app iphone http://stove.ru/action.redirect/url/aHR0cHM6Ly9saW5rbmVzdC52aXAvbGlkYWNsdXR0ZXI3MzU/YT1zdGF0cyZ1PWRlcnJpY2t2YW5jZTQ5
References:
Hitnspin casino demo https://wiki.opencellid.org/api.php?action=https://bybio.co/clydehcc07
References:
Hitnspin casino gewinne http://forum.beersfan.ru/proxy.php?link=https://ryu-ga-index.com:443/index.php?ohlsenrowe037508
References:
Hit’n spin casino http://www.swadba.by/iframe?b=https%3A%2F%2Ftinyurl.ee%2Fshastatheriaul&u=bit.ly
Осознанный гемблинг — это принцип к азартным сессиям, базирующийся на самоограничении и осознании рисков.
Она включает осознанное лимитирование времени и расходов на процесс.
Каждый игрок обязан заранее определять пределы потерь и неукоснительно их соблюдать.
https://wolgograd.ru/column/2502-tekhnicheskie-aspekty-krash-igry-aviator-generatsiya-sluchaynykh-chisel/
Осознанный гемблинг — это подход к казино, основанный на самоограничении и понимании рисков.
Эта концепция предполагает осознанное ограничение продолжительности и расходов на процесс.
Каждый участник обязан предварительно определять лимиты ставок и строго их соблюдать.
https://liveforsport.ru/full-text/1463-irina-sheyk-i-mikele-morrone-v-novoy-kampanii-dolce-and-gabbana-your-devotion.html
Responsible gambling is a set of practices that ensure betting remains a recreational activity rather than a means of stress or loss.
It involves establishing individual boundaries on time and money spent, as well as recognising the signs of harmful behaviour.
Ultimately, this approach encourages informed choices and helps users to keep control over their gaming habits.
https://1-mk.ru/detail/434-semeynye-khroniki-goryachie-spory-vokrug-shepeleva-friske-i-volochkovoy/
Prudent betting is a set of principles that ensure betting remains a recreational activity rather than a source of stress or loss.
Key aspects include setting individual boundaries on time and wagers, as well as being aware of the signs of harmful behaviour.
In essence, this approach encourages informed decisions and helps users to maintain balance over their gaming habits.
https://liveforsport.ru/full-text/1503-rich-casino-vs-competitors-a-comparative-analysis.html
Осознанный гемблинг — это подход к азартным сессиям, основанный на контроле и понимании рисков.
Она предполагает добровольное лимитирование времени и бюджета на игру.
Каждый участник должен предварительно устанавливать лимиты ставок и неукоснительно их соблюдать.
https://businessmind.watchco.ru/Tdo7fsh3ETfN/
Responsible gambling is a collection of principles that ensure betting stays a recreational activity rather than a means of financial strain.
It involves setting individual boundaries on time and money spent, as well as recognising the signs of harmful behaviour.
In essence, responsible gambling encourages conscious choices and supports players to keep balance over their playing habits.
https://my-yarn.ru/moda/902-kak-vybrat-onlayn-kazino-kriterii-otsenki-nadezhnosti-i-bezopasnosti/
References:
Lollybet Casino Login https://allfight.ru/redirect.php?url=https://beamng.com/proxy.php?link=https://lollybet.com.de/
Разумное отношение к азарту — это принцип к казино, основанный на самоограничении и понимании последствий.
Она предполагает добровольное лимитирование времени и денег на игру.
Любой участник обязан заранее устанавливать лимиты потерь и строго их соблюдать.
https://traveler.hypebeasts.ru/tzmjQlnXbNz8/
Осознанный гемблинг — это подход к игровым развлечениям, базирующийся на самоограничении и понимании последствий.
Эта концепция включает осознанное ограничение времени и расходов на игру.
Каждый участник должен предварительно определять лимиты ставок и неукоснительно их соблюдать.
https://links.hypebeasts.ru/ZpT66loW5s7U/
References:
Lollybet Casino Zahlungsmethoden http://maps.google.dk/url?q=https://board-en.seafight.com/proxy.php?link=https://lollybet.com.de/
Prudent betting is a set of principles that ensure betting stays a form of entertainment rather than a source of financial strain.
Key aspects include establishing personal boundaries on duration and wagers, as well as being aware of the indicators of harmful behaviour.
In essence, responsible gambling promotes informed decisions and supports players to maintain balance over their gaming activities.
https://rosotels.ru/detail/2026-06-20-boevoy-raport-za-19-iyunya-ot-shtrafov-za-russkiy-v-odesse-do-roskoshi-pochtovogo-rukovoditelya.htm
Mindful gaming is a collection of principles that ensure gambling stays a recreational activity instead of a means of financial strain.
Key aspects include setting individual limits on time and wagers, as well as recognising the indicators of harmful behaviour.
In essence, this approach promotes informed decisions and helps players to maintain control over their gaming activities.
https://ipcfms.ru/read/362-bibliotekarsha-iz-voronezha-poteryala-bolee-milliona-rubley-pytayas-razmorazhit-schyot.html
Разумное отношение к азарту — это стратегия к азартным сессиям, основанный на самоограничении и понимании последствий.
Она предполагает добровольное лимитирование времени и бюджета на игру.
Каждый участник должен предварительно определять лимиты потерь и неукоснительно их соблюдать.
https://b8.chenews.ru/vN0K1aJTtH4G/
Для учителей профессиональное развитие имеют решающее значение, поскольку эти программы дают возможность изучать новейшие технологии.
Благодаря подобным программам педагоги могут адаптироваться к новым условиям образовательной среды.
В итоге существенно возрастает качество педагогической работы, что положительно отражается на учениках и их результаты.
https://konkurent.ru/article/80974
Осознанный гемблинг — это стратегия к азартным сессиям, основанный на самоограничении и осознании рисков.
Она включает осознанное ограничение времени и расходов на игру.
Каждый игрок обязан заранее устанавливать пределы потерь и неукоснительно их соблюдать.
https://historybuff.myfashionacademy.ru/DDLClztQNmmj/