First attempt to correct U-turn arrows
This commit is contained in:
		
							parent
							
								
									8822117b06
								
							
						
					
					
						commit
						2dccb1eede
					
				| @ -58,8 +58,10 @@ block content | |||||||
|         input#collisions(type="checkbox", style={'margin-right': '10px', 'margin-bottom': '10px'}, checked) |         input#collisions(type="checkbox", style={'margin-right': '10px', 'margin-bottom': '10px'}, checked) | ||||||
|         label(for="collisions" style={'margin-right':'10px'}) Collisions |         label(for="collisions" style={'margin-right':'10px'}) Collisions | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|         input#showarrows(type="checkbox", style={'margin-right': '10px', 'margin-bottom': '10px'}, checked) |         input#showarrows(type="checkbox", style={'margin-right': '10px', 'margin-bottom': '10px'}, checked) | ||||||
|         label(for="showarrows" style={'margin-right':'10px'}) Show arrows |         label(for="showarrows" style={'margin-right':'10px'}) Show arrows | ||||||
| 
 | 
 | ||||||
|  |         //- audio(controls, autoplay) | ||||||
|  |         //-     source(src="/static/data/music/bobomb.mp3") | ||||||
|  | 
 | ||||||
|         #container(style={'padding': '0px', 'margin': '0px'}, tabindex="1") |         #container(style={'padding': '0px', 'margin': '0px'}, tabindex="1") | ||||||
|  | |||||||
							
								
								
									
										33
									
								
								static/js/prototype/ArrowCamera.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								static/js/prototype/ArrowCamera.js
									
									
									
									
										vendored
									
									
								
							| @ -117,18 +117,35 @@ ArrowCamera.prototype.update = function(mainCamera) { | |||||||
| 
 | 
 | ||||||
| ArrowCamera.prototype.regenerateArrow = function(mainCamera) { | ArrowCamera.prototype.regenerateArrow = function(mainCamera) { | ||||||
|     var vertices = new Array(); |     var vertices = new Array(); | ||||||
|     var t = [0,1]; | 
 | ||||||
|  |     // First point of curve
 | ||||||
|     var f0 = mainCamera.position.clone(); |     var f0 = mainCamera.position.clone(); | ||||||
|     f0.add(Tools.sum(Tools.mul(this.up,-1), Tools.diff(this.target, this.position).normalize())); |     f0.add(Tools.sum(Tools.mul(this.up,-1), Tools.diff(this.target, this.position).normalize())); | ||||||
|     var f = [Tools.sum(mainCamera.position, Tools.diff(this.target, this.position)).normalize(), this.position.clone()]; |  | ||||||
| 
 | 
 | ||||||
|     var first = Tools.diff(mainCamera.target, mainCamera.position); |     // Last point of curve
 | ||||||
|     first.normalize(); |     var f1 = this.position.clone(); | ||||||
| 
 | 
 | ||||||
|     var fp = [Tools.mul(first,40), Tools.diff(this.target, this.position)]; |     // Last derivative of curve
 | ||||||
|     fp[1].normalize(); |     var fp1 = Tools.diff(this.target, this.position); | ||||||
|     fp[1].multiplyScalar(4); |     fp1.normalize(); | ||||||
|     var hermite = new Hermite.special.Polynom(f0, f[1], fp[1]); | 
 | ||||||
|  |     // Camera direction
 | ||||||
|  |     var dir = Tools.diff(this.position, mainCamera.position); | ||||||
|  |     dir.normalize(); | ||||||
|  | 
 | ||||||
|  |     if (fp1.dot(dir) < -0.5) { | ||||||
|  |         // Regen polynom with better stuff
 | ||||||
|  |         var new_dir = Tools.cross(Tools.diff(this.position, mainCamera.position).normalize(), mainCamera.up); | ||||||
|  |         new_dir.multiplyScalar(new_dir.dot(fp1) < 0 ? 1 : -1); | ||||||
|  |         new_dir.add(dir); | ||||||
|  |         new_dir.add(dir); | ||||||
|  |         new_dir.multiplyScalar(2); | ||||||
|  |         f0.add(new_dir); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fp1.multiplyScalar(4); | ||||||
|  | 
 | ||||||
|  |     var hermite = new Hermite.special.Polynom(f0, f1, fp1); | ||||||
| 
 | 
 | ||||||
|     var up = this.up.clone(); |     var up = this.up.clone(); | ||||||
|     var point; |     var point; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user