Thai3Dviz

Thai3Dviz (http://www.thai3dviz.com/board/index.php)
-   ห้องแล็บ Zunshiro (http://www.thai3dviz.com/board/forumdisplay.php?f=34)
-   -   MAXScript - Region Render รุ่นทดลองครับ (http://www.thai3dviz.com/board/showthread.php?t=65)

zunshiro 13-10-2006 03:03 PM

MAXScript - Region Render รุ่นทดลองครับ
 
อันนี้เป็น script รุ่นทดลองจริง ๆ และคิดว่าจะเป็นอย่างนั้นตลอดไป
เพราะว่าพบทั้งขีดจำกัดของตัว script และตัวผม
ทำให้คิดว่าไม่น่าจะสามารถเอามาใช้งานได้จริง ๆ จัง ๆ เท่าไรนัก (ทั้งช้า และมี bug ตรึม)
แต่เสียดาย ก็เลยเอามา post ให้เอาไปลองเล่นกันเล่น ๆ ครับ

Script ตัวนี้มาจากความอิจฉาโปรแกรมอย่าง XSI หรือ blender
ที่สามารถ Render ได้ใน Viewport เลย ไม่มีหน้าต่างเด้งขึ้นมาให้ต้องคอยปิด
เหมาะสำหรับช่วง Render ทดสอบบางจุดมาก ๆ

เพียงแค่ลาก mouse ตีกรอบใน viewport ปล่อย mouse ปุ๊บ ก็ Render เฉพาะตรงนั้นเลย

อยากได้มากกกก

พอดียังวนเวียนศึกษาเรื่องการวาดจุดและเส้นบน viewport โดยตรงอยู่ ก็เลยพยายามหาทาง
เลียนแบบเทคนิคการ render แบบนั้นให้ได้

ก็เลยได้ออกมาเป็น script ตัวนี้ครับ แต่ว่าจากข้อจำกัดที่บอก มันช้ามาก และคิดว่าไม่น่าจะทำให้มันเร็วไปกว่านี้ได้เท่าไรครั บ
ก็คงจะไม่แก้ไขมันแล้ว ก็คิดว่าเอาไปเล่นกันหนุก ๆ แล้วกันนะ

วิธีติดตั้งก็เหมือนเดิมครับ Download ตัว script ไปวางไว้ที่ c:\3dsmax8\script
(หรือที่ไหนก็ได้ที่ไม่เกะกะ) จากนั้น run script หนึ่งครั้ง โดยไปที่เมนู MAXScript/Run Script

=== Download Region Render 0.01 BETA ===

จากนั้นเข้าไป customize user interface เพื่อดึงตัว script ออกมาใช้งาน
โดย Script จะชื่อ RegionRender อยู่ใน Category Zun_Tools

http://www.pic2.us/pic/MaR34592.gif

script ตัวนี้เหมาะที่จะเรียกใช้งานผ่าน key ลัดครับ ผม Assign ให้ใช้ปุ่ม Q ไปเลย ง่ายดี


วิธีใช้งานก็แค่เรียกใช้ script แล้วลากกรอบครอบริเวณที่อยาก Render ได้เลย

http://www.pic2.us/pic/MCg34610.gif

http://www.pic2.us/pic/DVW34624.jpg

มีเรื่องน่าขัดใจเล็กน้อยที่ผมยังแก้ไม่ได้ ก็ตรงที่
หลังจาก Render เสร็จแล้ว เพื่อทำงานต่อ ต้อง click mouse ซ้าย 1 ครั้งก่อนนะครับ
ถึงจะทำงานต่อได้ (จริง ๆ แล้วอยากให้ click อะไรก็ได้แล้วก็ทำงานต่อเลย)

ส่วนเรื่อง bug ตรึมครับ ตั้งแต่วิธีการลาก mouse ย้อนศร, หยุดการ render ไม่ได้
มีปัญหากับวัตถุที่มีการแยกโครงสร้างตอนอยู่ใน view กับตอน render
หรือ material บางอย่างเช่น flat mirror ที่ถูก blur เยอะ ๆ


เยอะจนแก้ไม่ไหว จึงขอไม่แก้มันอีกแล้วนะครับ code มันเยอะจนเอาไม่อยู่แล้ว แหะ ๆ


อ้อ ถ้า script มีปัญหาพาลทำให้ max บ๊อง ๆ ก็ให้ปิด และเรียก max ใหม่ก็จะเป็นปกตินะครับ

Saint 14-10-2006 10:48 AM

ผมลองแกะ code ของพี่อยู่ครับ แต่ยังงงๆหลายที่เลยครับ

Saint 14-10-2006 10:50 AM

on mousePoint click do
(
if click==1 do startpoint = mouse.pos

if click==2 do

( releasemouse=true
endpoint = mouse.pos
max views redraw
#stop
)
)

code ส่วนที่ click==1 กับ click==2 มันหมายความว่าอะไรครับ
ใช่คลิกครั้งที่ 1 กับ ครั้งที่ 2 รึเปล่าครับ
แล้วตรง mousemove click ใช่การ drag mouse รึเปล่าครับ

zunshiro 14-10-2006 12:20 PM

จำไม่ค่อยจะได้แล้วอะครับ
ไม่ได้เขียน mouse tools นานมาก

1 น่าจะเป็น การ mousedown ลงไปครั้งแรก และ 2 น่าจะเป็น mouseup ในเวลาต่อมา

ส่วน mousemove น่าจะ drag แหละครับ

Saint 14-10-2006 03:17 PM

ขอบคุณครับ :d

chaman 25-11-2006 07:52 AM

จะลองศึกษาดูนะครับขอบคุณมากครับ

arch005 06-12-2006 10:59 AM

ขอบคุณครับ

phanuwhat? 16-12-2006 07:36 PM

ขอบคุณมากเลยครับ พี่ท่าน Zunshiro ได้ประโยชน์มากจริงๆ


All times are GMT +7. The time now is 02:22 PM.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright ©2002-2010 Thai3dViz Co.,Ltd.