瀏覽代碼

Update Mesh generator : add arrow and better visibility

ShiroSmith 6 年之前
父節點
當前提交
8755d871b2
共有 2 個文件被更改,包括 343 次插入7 次删除
  1. 324 0
      bin/res/meshGeneratorArrow.fbx
  2. 19 7
      hrt/prefab/l3d/MeshGenerator.hx

文件差異過大導致無法顯示
+ 324 - 0
bin/res/meshGeneratorArrow.fbx


+ 19 - 7
hrt/prefab/l3d/MeshGenerator.hx

@@ -148,11 +148,11 @@ class MeshGenerator extends Object3D {
 		#if editor
 		if( mp.previewPos ) {
 			if( mp.isRoot() )
-				parent.addChild(createPreviewSphere());
+				parent.addChild(createPreviewSphere(ctx));
 			else {
 				var socket = getSocket(parent, mp.socket);
 				if( socket != null )
-					socket.addChild(createPreviewSphere());
+					socket.addChild(createPreviewSphere(ctx));
 			}
 		}
 		#end
@@ -279,14 +279,26 @@ class MeshGenerator extends Object3D {
 		return false;
 	}
 
-	function createPreviewSphere() {
-		var m = new h3d.scene.Mesh( h3d.prim.Sphere.defaultUnitSphere());
-		m.scale(0.1);
+	function createPreviewSphere( ctx : Context ) {
+		var root = new h3d.scene.Object();
+		root.setRotation(0,0, hxd.Math.degToRad(180));
+		var m : h3d.scene.Mesh = cast ctx.loadModel("${HIDE}/res/meshGeneratorArrow.fbx");
+		root.addChild(m);
+		m.scale(0.5);
+		m.name = "previewSphere";
+		m.material.color.set(0.05,0,0.05,1);
+		m.material.mainPass.depthTest = GreaterEqual;
+		m.material.mainPass.depthWrite = false;
+		m.material.mainPass.setPassName("overlay");
+		var m : h3d.scene.Mesh = cast ctx.loadModel("${HIDE}/res/meshGeneratorArrow.fbx");
+		root.addChild(m);
+		m.scale(0.5);
 		m.name = "previewSphere";
 		m.material.color.set(1,0,0,1);
-		m.material.mainPass.depthTest = Always;
+		m.material.mainPass.depthTest = LessEqual;
+		m.material.mainPass.depthWrite = false;
 		m.material.mainPass.setPassName("overlay");
-		return m;
+		return root;
 	}
 
 	function resetPreview( mp : MeshPart ) {

部分文件因文件數量過多而無法顯示