之前写了一篇关于在物体头顶上显示名字的随笔. 估计难懂的点就在各种坐标的转换. 这里详细(就我这水平,怎么可能详细~~~)解说一下.额............. 用另一种方式举个栗子吧. 还是实现在物体的头顶或某个部位显示UI并跟随物体的移动改变位置. 先把栗子端上来: public Transform Boy;//帅帅的主角 public Transform UI;//对主角死缠烂打的UI君 Camera cam;//主相机 void Update () { UI.localPosition…
public static bool ScreenPointToLocalPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector2 localPoint); rect: 对应的 RectTransform 的引用screenPoint: 位置,基于屏幕坐标系cam: 相机的引用,如果Canvas的Render Mode 为 Screen Space - Camera 模式,则需要填入 Ren…
arcgis server 中Web墨卡托投影坐标与WGS-84坐标的转换 //经纬度转墨卡托 function lonlat2mercator(lonlat){ var mercator={x:0,y:0}; var x = lonlat.x *20037508.34/180; var y = Math.log(Math.tan((90+lonlat.y)*Math.PI/360))/(Math.PI/180); y = y *20037508.34/180; mercator.x = x;…
[摘 要] 本文针对从事测绘工作者普遍遇到的坐标转换问题,简要介绍ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标转换原理和步骤. [关键词] ArcGIS 坐标转换 投影变换 1 坐标转换简介  坐标系统之间的坐标转换既包括不同的参心坐标之间的转换,或者不同的地心坐标系之间的转换,也包括参心坐标系与地心坐标系之间的转换以及相同坐标系的直角坐标与大地坐标之间的坐标转换,还有大地坐标与高斯平面坐标之间的转换.在两个空间角直坐标系中,假设其分别为O–XYZ和O–XYZ,如果两个坐标系的原点…
http://blog.sina.com.cn/s/blog_427cf00b0102vp0j.html 之前在做连连看游戏中,也用到贴图坐标,当时我们讲到,不管是平铺(Tiling)还是偏移(Offset),我们参考的基准都是原始的那张图,Tiling配合Offset,Tiling负责截取,Offset负责移动,最终实现截取贴图的任一部分​,但是这种方法弄出的图形形状都是方块的,无法实现任意的贴图 而下面要讨论的方法和上面的方法会大不一样,会从UV坐标的角度去讨论,从而实现想怎么贴就怎么贴的效…
1.物体的局部坐标的方向(物体自身的方向) transform.forward. transform.right. transform.up 2.物体的世界坐标的方向 Vector3.forward. Vector3.right. Vector3.up 例子: 子弹沿自身坐标轴的Z轴方向运动 Vector3 v = this.transform.forward * this.speed; this.body.velocity = v; 注意: 父节点在Scene视图中显示出来的位置并非真正的In…
屏幕坐标:左下角为原点. void Update(){ // 获取物体的屏幕坐标,世界坐标->屏幕坐标 Vector3 screenPos = Camera.main.WorldToScreenPoint(cube.position); Debug.Log("x = " + screenPos.x + ", y = " + screenPos.y + ", z = " + screenPos.z); } 拖动物体观察打印结果可知:z值是物体…
using UnityEditor; using UnityEngine; [CustomEditor(typeof(GameObject))] public class MyEditor : Editor { void OnSceneGUI() { Handles.BeginGUI(); if (GUILayout.Button("输出位置及角度 QQ:745701540")) { GameObject[] objs = Selection.gameObjects; Vector3…
Flex包含3种坐标:全局坐标.本地坐标.内容坐标 全局坐标:stage级别,坐标原点为舞台的左上角,如MouseEvent的stageX.stageY坐标. 本地坐标:组件级别的坐标系,相对坐标,坐标原点为相对的组件的左上角,如MouseEvent的localX.localY坐标,以及容器中组件的x.y属性都为本地相对坐标. 内容坐标:组件级别的坐标系,相对坐标,在有滚动条的情况下,全部内容所占的区域的坐标系,坐标原点为相对的组件的左上角,可以理解为包含滚动条的整个内容面板为一个坐标系.如组件…
Unity版本:4.5.1 NGUI版本:3.6.5 参考链接:http://blog.csdn.net/unity3d_xyz/article/details/23035521,作者:CSDN inspironx 在Unity中可以用Animation实现控件位置的转换,大小的变化等等,即用动画实现,NGUI中可以用Tween实现.这里用Panel的位置转换为例说明. 1.创建一个Panel面板,如下图: 2.为Panel添加Animation组件: 可以看到Panel中Animation组件…
测试地图源码==百读Demo<html> <head> </head> <body> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script> <p> <div id="container" style="width: 632px; heigh…
获取到经纬度在用百度地图进行定位时,却发现行驶轨迹的路线定到海里面去了.从网上查阅,知道此方法. 出处:https://www.jianshu.com/p/53f00ba897f7 一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Google和高德地图定位的的经纬度(国外)都是基于WGS-84坐 标系的:但是在国内是不允许直接用WGS84坐标系标注的,必须经过加密后才能使用:…
baidu经纬度坐标与google经纬度坐标都是经过转换的.使用下面那个url可以将原始坐标或者谷歌的坐标转换成baidu的坐标http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=116.308992&y=40.059225,将得到的base64字符,还原就是真实的经纬度. 请求接口中有四个参数:其中,from和to对应的值分别是:0真实坐标:2google坐标:4baidu坐标.from:被转换的坐标体系to:转换到这个…
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak='自己申请'&s=1"></script> <script type="text/javascript" charset="utf-8"> var geolocation = new BMap.Geolocation(); ge…
基础知识坐标系说明: WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系. GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统.由WGS84坐标系经加密后的坐标系. BD09:为百度坐标系,在GCJ02坐标系基础上再次加密.其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标 参考文档: http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition 功能接口主用调用…
通过C#代码将地址字符串转为经纬度坐标,或者将经纬度转为具体的地址字符串,在不通外网的项目中是有需求的. 具体步骤: 一.创建BaiduMapHelper,用于定义地址信息和请求. public static class BaiduMapHelper { #region 常量 //百度地图Api Ak public const string BaiduAk = "你的百度Key"; /// <summary> /// 经纬度 逆地理编码 Url 需要Format 0.ak…
会受到缩放的影响 用的比较多的是 本地坐标转换为世界坐标,比如在自己周围释放物体 当物体发生旋转,方向会发生变化…
如题.做了一个Demo,主要是把最后面的参考资料1里面的脚本改成了C语言版本的. 代码: #ifndef __COORCONV_H__ #define __COORCONV_H__ #include <cmath> double pi = 3.14159265358979; /* Ellipsoid model constants (actual values here are for WGS84) */ double sm_a = 6378137.0; double sm_b = 63567…
//ios常用坐标转换来处理一些下拉框队形的按钮的位置,我以最下面两个来进行一下个人的理解,不足之处多多见谅 - (CGPoint)convertPoint:(CGPoint)point toView:(nullable UIView *)view; - (CGPoint)convertPoint:(CGPoint)point fromView:(nullable UIView *)view; - (CGRect)convertRect:(CGRect)rect toView:(nullable…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 procedure TForm1.Button1Click(Sender: TObject);    var   pRet: MxDrawResbuf;   h, w: double;   ptMin        : IMxDrawPoint;   ptMax     …
osg::Vec3f vec3f1 = hookNode->getBound().center(); osg::NodePathList nodePAthList1 = hookNode->getParentalNodePaths(); updateHookPosition_20190914(vec3f1, nodePAthList1); osg::Vec3 point3 = vec3f1 * osg::computeLocalToWorld(nodePath1); std::cout <…
[Unity Shaders]学习笔记——SurfaceShader(九)Cubemap 如果你想从零开始学习Unity Shader,那么你可以看看本系列的文章入门,你只需要稍微有点编程的概念就可以. 水平有限,难免有谬误之处,望指出. 上一节中讲述了制作Cubemap的方法.这一节讲讲怎么使用它. Simple Cubemap 先来看一下最简单的Cubemap. Shader "Custom/SimpleReflection" { Properties { _MainTint (&…
转载:http://gad.qq.com/program/translateview/7181958 创建立方体网格.· 支持缩放.位移和旋转. · 使用变换矩阵. · 创建简单的相机投影. 这是关于渲染基础的系列教程的第一部分.它涵盖了变换矩阵. 首先,从程序化网格开始,让我们先遍历下“网格基础”系列.然后你会知道网格是如何工作的.这个系列将探讨这些网格如何最终转换成显示器上的像素.   对空间中的点进行操作. 可视化空间 你现在已经知道了网格到底是什么,以及它们如何在场景中进行定位.但是这个…
https://www.jianshu.com/p/c1a9a5d27765 对每个物体渲染多个光源的光照效果. 支持不同的光源类型. 使用光源cookie. 计算顶点光照. 在光照计算中添加球面谐波函数(spherical harmonics)的光照. 这是关于渲染基础的系列教程的第五部分.这个系列教程的上一部分讲的使用单一方向光的光照效果.现在我们将要添加对多光源光照的支持. 系列回顾: Unity 渲染教程(一):矩阵 Unity 渲染教程(二):着色器基础 Unity 渲染教程(三):使…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 基于百度地图进行数据展示是目前项目中常见场景,但是因为百度地图是基于BD09坐标系的,GPS坐标(WGS84)或者其他常见的标准坐标是无法准确在地图上进行展示的,但是互联网在线情况下,百度提供了将WGS84经纬度转换成百度经纬度坐标的API,这里不再对其进行研究(离线情况下也有专门方法解决).这里,我们探讨,如何将在百度上获取的百度坐标数据反转成WGS84坐标…
前文完成了最基本的镜面反射着色器,单平行光源下的逐顶点着色(per-vertex lighting),又称为古罗着色(Gouraud shading).这篇文章作为后续讨论更光滑的镜面反射方式,逐像素着色(per-pixcel lighting),又称为冯氏着色(Phong shading) 逐像素着色Per-Pixel Lighting (冯氏着色Phong Shading) 别把冯氏着色与冯氏反射模型搞混淆了,前问提到了冯氏反射模型,冯氏反射模型是为使计算机模拟接近真实的物体表面光泽提出的模…
背景 NGUI在处理UI和输入方面确实做的不错,但是现在的问题是公司引入体感之后,是通过手的位置来实现按钮的点击操作,前提我不想改变原先设计好的NGUI界面和机制,怎么破? NGUI的输入底层机制 NGUI对鼠标或者触摸的位置是通过Camera对NGUI层进行射线检测来获得,然后检测按钮事件.触摸屏Press事件来实现UI的操作,从事件机制上而言,NGUI虽然提供了几种事件机制,但底层还是通过Camera的SendMessage来通知被检测到的控件完成某个事件,OK ,看看代码. NGUI UI…
写在前面 自己写过Vertex & Fragment Shader的童鞋,大概都会对Unity的光照痛恨不已.当然,我相信这是因为我们写得少...不过这也是由于官方文档对这方面介绍很少的缘故,导致我们无法自如地处理很多常见的光照变量.这篇我们就来讨论下Unity内置的一些光照变量和函数到底怎么用. 以下内容均建立在Forward Rendering Path的基础上. 自己总结的,如果有硬伤一定要告诉我啊!感激不尽~ 主要参考: http://en.wikibooks.org/wiki/Cg_P…
1.现在unity做一个项目,各种插件各种包,于是项目资源就无限变大了,其实一些简单的功能可以自己写,这里就是试着使用UGUI编写一个摇杆功能 2.脚本如下: using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; using System.Collections; public class UGUIJoystick : MonoBehaviour,IDragHandler{ public RectTran…
第一个简单的顶点vert/片元frag着色器   1)打开Unity 5.6编辑器,新建一个场景后ctrl+s保存命名为Scene_5.默认创建的场景是包含了一摄像机,一平行光,且场景背景是一天空盒而非纯色.在这里菜单中选择 Window->lighting->settings,会弹出一个光照选项设置框如下图:      点击箭头处选择“None”资源即可去掉天空盒,看到一个纯色背景.   2)右键create一C# script,命名为shader_5,放置脚本到shader文件夹.(相当于…