เส้นทางเลเยอร์รูปร่าง After Effects 2020 ละเว้นการวางแนว 3 มิติเมื่อใช้เพื่อพาเรนต์เป็น null
ฉันพยายามทำให้โมฆะเคลื่อนไหวตามเส้นทางวงรี เส้นทางถูกหมุนในพื้นที่ 3 มิติ เมื่อฉันคัดลอกเส้นทางไปยังตำแหน่งว่างมันจะคัดลอกและโมฆะจะเคลื่อนไหวรอบ ๆ เส้นทาง แต่การตั้งค่าการวางแนว 3 มิติบนเลเยอร์รูปร่างจะถูกละเว้นและคีย์เฟรมของ null จะถูกตั้งค่าให้ชี้ไปที่กล้องโดยตรงราวกับว่ามันอยู่ใน โหมด 2D:

ในภาพหน้าจอนี้แทร็กคีย์เฟรมสีแดงคือข้อมูลตำแหน่งที่วางลงในช่องว่างและวงกลมสีขาวคือเส้นขีดของเส้นทาง แน่นอนว่าการหมุน null ไม่ได้ทำอะไรเลยเพราะเป็นคีย์เฟรมที่ปิดอยู่
ฉันค่อนข้างใหม่สำหรับเรื่องนี้ดังนั้นฉันจึงรู้สึกว่าฉันอธิบายปัญหาได้ไม่ดีนักหรือมีวิธีง่ายๆที่ฉันยังไม่เข้าใจ คำแนะนำใด ๆ จะได้รับการชื่นชมอย่างมาก ขอบคุณ!
คำตอบ
เส้นทางของเลเยอร์รูปร่างอยู่ในพื้นที่ชั้น กล่าวอีกนัยหนึ่งคือพิกัดจะสัมพันธ์กับเลเยอร์ไม่ว่าเลเยอร์จะอยู่ที่ใดในพื้นที่จัดองค์ประกอบ เนื้อหาของเลเยอร์จะอยู่ที่ 0 บนแกน z สัมพันธ์กับเลเยอร์นั้นเสมอ ดังนั้นเมื่อคุณใช้เส้นทางนั้นเป็นเส้นทางการเคลื่อนที่ไปยังเลเยอร์ในพื้นที่จัดองค์ประกอบมันจะเคลื่อนที่บนระนาบ X / Y เสมอที่ 0 บนแกน z ในการทำให้เลเยอร์ว่างใช้พื้นที่พิกัดเดียวกันกับเลเยอร์รูปร่างคุณสามารถทำให้มันเป็นลูกของเลเยอร์รูปร่างได้ จากนั้นพิกัดจะสัมพันธ์กับพาเรนต์ หากเป็นไปไม่ได้คุณสามารถใช้การtoWorld()
แปลงพื้นที่เลเยอร์ในนิพจน์ได้ดังนี้:
thisComp.layer("shape Layer").toWorld(value);
และนำไปใช้กับตำแหน่งนั้น สิ่งที่ทำคือรับค่าตำแหน่งและค้นหาว่าจะอยู่ที่ใดในเลเยอร์ "รูปร่างเลเยอร์" จากนั้นให้ค่าของตำแหน่งที่อยู่ในพิกัดคอมพ์
มี gotcha เล็กน้อยในเส้นทางบนเลเยอร์รูปร่างนั้นวัดเป็นพื้นที่คอมพ์ ก่อนคัดลอกพา ธ ไปยัง null คุณอาจต้องการกำหนดจุดยึดของเลเยอร์รูปร่างเป็นศูนย์กลางของเนื้อหาโดยใช้ctrlalthome. มิฉะนั้นคุณสามารถลบตำแหน่งออกจากค่าของเส้นทางที่คัดลอก:
thisComp.layer("Shape Layer 1").toWorld(value-thisComp.layer("Shape Layer 1").transform.position)