当前位置: 首页 > news >正文

品牌网站建设十小蝌蚪甘肃建设厅执业资格注册中心网站

品牌网站建设十小蝌蚪,甘肃建设厅执业资格注册中心网站,电子类 购物网站,直接做海报的网站Texture2D-SetPixels32 - Unity 脚本 API 实现思路 从笔尖位置发射射线获取画纸上碰撞位置的UV 纹理坐标以确认笔迹位置,射线检查碰撞的最大距离即笔尖距离画纸的最大距离,利用Texture2D.SetPixels32 实现对画纸贴图颜色的修改。 核心代码 发射一条以…

Texture2D-SetPixels32 - Unity 脚本 API

实现思路

从笔尖位置发射射线获取画纸上碰撞位置的UV 纹理坐标以确认笔迹位置,射线检查碰撞的最大距离即笔尖距离画纸的最大距离,利用Texture2D.SetPixels32 实现对画纸贴图颜色的修改。

核心代码

发射一条以笔尖位置为起点,笔尖forward 方向的射线检测碰撞获取碰撞位置处的UV 纹理坐标。maxDis 限制笔尖与画纸距离。

Ray ray = new Ray(nibTrans.position, dir);
//Debug.DrawRay(nibTrans.position, ray.direction, Color.red);
if (Physics.Raycast(ray, out RaycastHit hitInfo, maxDis))
{//hitInfo.textureCoord
}

 以碰撞位置为中心,笔迹范围大小计算笔迹开始位置。

startPosX = (int)(paintPos.x * textureWidth - (painterRange / 2f));
startPosY = (int)(paintPos.y * textureHeight - (painterRange / 2f));

修改贴图颜色并将修改的像素上传至显卡。

curTexture.SetPixels32(startPosX, startPosY, painterRange, painterRange, painterColor);
curTexture.Apply();

若画纸为一个平面,可利用画纸上任意三个点确认画纸的法线向量,以画纸的法线向量为射线方向可减小画笔出现倾斜时笔迹位置的偏差。

dir = Vector3.Cross(pointsTrans[1].position - pointsTrans[0].position, pointsTrans[2].position - pointsTrans[0].position).normalized;

画笔与射线方向的夹角小于一定角度时,则不进行贴图颜色修改。

angle = Vector3.Angle(transform.forward, dir);
if (angle < minAngle) return;

效果

http://www.dtcms.com/a/498574.html

相关文章:

  • 长沙优化网站获客软件服务好的成都网站建设
  • 西安在线网站制作大名网站建设费用
  • 长尾词挖掘海口seo外包
  • 手机网站怎么做淘宝客动漫设计和动漫制作技术的区别
  • 柳州柳北建设局网站杭州室内设计公司
  • 三明购物网站开发设计lol做任务领头像网站
  • 杭州知名的企业网站建设策划个人做门户网站
  • 网站多种语言是怎么做的广州天河 网站建设
  • 做网站是什么职业中国建筑app下载
  • 建设安全带官方网站如何配置iis网站
  • 珠海模板开发建站asp网站设计代做
  • 网站图片上传却不显示不出来把wordpress图标去掉
  • 网站名称和备案不一样河南省鹤壁市住房和城乡建设局网站
  • 烟台网站建设方案策划wordpress js版本号
  • 北京电商网站建设多语言网站如何开发
  • 嘉兴网站建设需要多少钱万网空间
  • aspaccess做网站制作相册音乐相册模板
  • 一般制作一个网站要多久免费注册二级域名网站
  • 山东阳信建设局网站wordpress调用描述
  • 自己怎么做网址开网站谷歌浏览器下载手机版app
  • 什么网站立刻买东西保定哪家做网站好
  • 做软件跟网站哪个难网站建设 自助建站
  • 芜湖网站建设whwzjs制作网站程序
  • 寺院网站建设方案做网站 微信开发前景
  • 滨海天津网站建设Wordpress安装购物车
  • 深圳龙华建设局官方网站wordpress建立文章页面
  • 网站做js跳转家装o2o平台有哪些
  • 晋中推广型网站开发重庆森林经典台词图片
  • 网站 语言选择在线crm免费
  • 创业中文网站模板云南今天刚刚发生的新闻