unity3d模型下载怎么让模型蛇弯曲移动

怎么样把原3d模型仅仅弯曲而已,其他保持不变,求高手指点_百度知道
怎么样把原3d模型仅仅弯曲而已,其他保持不变,求高手指点
我有更好的答案
用多变形编辑器用面或线选到你需要弯曲的区域在使用Bend
大神这个多变型编辑器是什么软件里面的
3Dmax里面的啊Edit Poly
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。模型移动问题【unity3d吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:81,511贴子:
模型移动问题收藏
有时候做的一个整体的模型是分成好几个部分没连在一起的,比如说一个机器人它的头身子腿不是连在一起的在3d软件里边,有的时候在unity里边用charactercontroller 控制,模型移动不了,请问大神们这个是怎么回事,。
没人??自己顶下
移动不了是都动不了还是模型被拆开了?……
你是把每个部分都加了碰撞了吧? 整体一个charactercontroller就行了
登录百度帐号推荐应用unity蛇模型Snake,Unity3D模型,3d游戏模型,6m5m游戏素材
请求处理中...
unity蛇模型Snake3D animated and textured model SnakeTriangles count: 790Animations:&0 - 5 stand_pose&10 - 70 move&80 - 180 idle_01&190 - 280 idle_02&290 - 310 attack&320 - 360 death
或 0 积分 ()
下载103浏览人数1401交付方式直接下载
注意:【1】本站只是个免费分享平台,并不敢保证所有源码人人都能编译,因素太多,旨在学习研究,如果您有顾虑或斤斤计较就请不要下载了,大家都不容易,互相理解,才能让更多的好资源出现!【2】本站资源仅限于学习研究,请在下载后24小时内删除,不要用于任何商业用途。【3】部分素材压缩包因体积过大而上传到百度等网盘上,如果发现在本站下载的压缩包只要有几K大小,说明该压缩包里只是网盘的下载链接,并非文件损坏,本站的所有素材都是经过了审核,大家可放心下载,欢迎监督反馈。【4】做个好平台真心不容易,我们一直在努力,因本站素材量大,难免会出现某网盘下载链接失效等问题,请大家及时反馈,我们会及时修正保证您可以拿到素材,请大家支持和理解!
免责声明:本网所展示的素材与服务信息由买卖双方自行提供,其真实性、准确性和合法性由信息发布人负责。本网不提供任何保证,并不承担任何法律责任,如有不妥之处请及时反馈,本网将会妥善处理。
友情提醒:本站旨在游戏开发的学习,所分享的素材资源均来源于网络,仅适用于学习参考,尊重版权,禁止用于任何商业用途,否则后果自负,所展示的素材版权归原作者或公司所有,如果本站素材侵犯了您的权益,请联系我们,我们将及时处理。
猜您喜欢的游戏素材
0金币 / 个
1金币 / 个
0金币 / 个
1金币 / 个
0金币 / 个
0金币 / 个
1金币 / 个
1金币 / 个
1金币 / 个
1金币 / 个
好评率99.95%
发布素材1070你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
现在我想做一个鱼竿前端弯曲的算法。。具体我也没想到怎么是实现。各位大大帮帮忙。
我现在有两个想法:
1.就是运用新动画系统中的IK功能,实现子节点带动父节点改变
2.就是参照《暗影之枪Demo》中的彩旗飘动的shader。。。可是,我不会写。。。
以上就是我的想法
感觉可以使用Unity里面的 关节 来做
使用代码控制 力量和角度
感觉可以使用Unity里面的 关节 来做
使用代码控制 力量和角度嗯嗯,你这个想法很好。我看看
感觉可以使用Unity里面的 关节 来做
使用代码控制 力量和角度哦,我看了下圣典里面关于关节这一节。他需要连接的是两个物体间。我的只能是一个物体弯曲
目测也只能使用ik了吧 shader不嫌麻烦到是可以学习学习 很有用啊
目测也只能使用ik了吧 shader不嫌麻烦到是可以学习学习 很有用啊嗯嗯。目测是这样。IK的话,我一样需要学习,以前没有用过
在模型里面做好动画后应该可以直接用的吧 把不同的弯曲度的动画一块导进来 到时候逐帧播放 正着 倒着 随便放啊
在模型里面做好动画后应该可以直接用的吧 把不同的弯曲度的动画一块导进来 到时候逐帧播放 正着 倒着 随便 ...想法很好,但是你知道要做多少动画嘛?不恰当
shader里的顶点着色器进行顶点位置变化即可 具体算法可以google一下
只有一个钓竿的话做动画吧 两分钟给你搞定
如果很多不同种类的钓竿 用shader定点算法把。
只有一个钓竿的话做动画吧 两分钟给你搞定
如果很多不同种类的钓竿 用shader定点算法把。 ...有很多钓竿的,那看来只能用shader了。IK没法。话说,shader定点算法是什么?
shader的顶点着色器
肯定需要shader的支持。
shader的顶点着色器
...多谢了。看来得去学学shader的东西了。。。
肯定需要shader的支持。嗯,我这里最终的想法也是用shader来做。动画不现实
弹簧特性~{:104:}{:104:}{:104:}{:104:}{:104:}
直接在三维软件里做好变形动画(是变形动画,不是骨骼动画),这个动画直接做成最大可弯曲的幅度,,三维软件里设置的变形动画有参数可以在unity中设置变形幅度,而且这个参数也是可以做成数组的能达到各种意想不到的效果,也包括你想要的那种不同数值决定弯曲程度.
当然也可以在unity里面做好ik动画
那个就太折腾人了
当然三维软件里做的变形动画也有缺点,这种动画不能在unity中续承到别的模型上.但是我们可以把一个做好的鱼竿变型动画在三维软件中通过点缓存的方式将变形动画续承到鱼竿2模型上,这样unity里所有鱼竿都带变形动画了
具体就这个思路
弹簧特性~楼上有说明,不行
直接在三维软件里做好变形动画(是变形动画,不是骨骼动画),这个动画直接做成最大可弯曲的幅度,,三维软件里设 ...请原谅我们的动画师,他说你说的太专业了。看不懂
本帖最后由 yangbo8088 于
16:54 编辑
你当我之前什么都没说.重新走起:
让你动画师做morph动画
unity可以直接支持morph动画的
如果动画师连这都做不了,叫他改行回老家结婚吧{:95:}
或者用unity变形插件也行 推荐Mega-Fiers
网上有教程.
本帖最后由 lzc_sys 于
17:23 编辑
你当我之前什么都没说.重新走起:他们果然不知道。我还是自己用插件吧
我觉得有空还是学下shader就好
用自定义关节怎么样?
用自定义关节怎么样?楼上帖子又类似的,自定义关节是不可以的
要回复问题请先或
浏览: 2655
关注: 0 人求问unity3d如何实现模型自身的移动、缩放、旋转!谢谢!
&求助各位大神!我想用unity实现多个三维模型各自分别移动、缩放、旋转。我在网上找了很多代码都是摄像机的移动和旋转,请问谁能教教我物体自身的移动、缩放、旋转该怎么写呀? 希望大神能把代码分享给我,感激不尽!
————————————————————————————————————————————————————————————
以下是我找的移动摄像机实现移动和缩放、平移的代码
#pragma strict
//用于绑定参照物对象
var target : T
//缩放系数
var distance = 10.0;
//左右滑动移动速度
var xSpeed = 250.0;
var ySpeed = 120.0;
//缩放限制系数
var yMinLimit = -20;
var yMaxLimit = 80;
//摄像头的位置
var x = 0.0;
var y = 0.0;
//记录上一次手机触摸位置判断用户是在左放大还是缩小手势
private var oldPosition1 : Vector2;
private var oldPosition2 : Vector2;
&
//初始化游戏信息设置
function Start () {
&& &var angles = transform.eulerA
&& &x = angles.y;
&& &y = angles.x;
&
&// Make the rigid body not change rotation
&& &if (rigidbody)
&rigidbody.freezeRotation =
}
&
function Update ()
{
&//判断触摸数量为单点触摸
&if(Input.touchCount == 1)
&{
&//触摸类型为移动触摸
&if(Input.GetTouch(0).phase==TouchPhase.Moved)
&{
&& & //根据触摸点计算X与Y位置
&x += Input.GetAxis(&Mouse X&) * xSpeed * 0.02;
&& & & & y -= Input.GetAxis(&Mouse Y&) * ySpeed * 0.02;
&
&}
&}
&
&//判断触摸数量为多点触摸
&if(Input.touchCount &1 )
&& &{
&& & //前两只手指触摸类型都为移动触摸
&& & if(Input.GetTouch(0).phase==TouchPhase.Moved||Input.GetTouch(1).phase==TouchPhase.Moved)
&& & {
&& & & & //计算出当前两点触摸点的位置
&& & &var tempPosition1 = Input.GetTouch(0).
&var tempPosition2 = Input.GetTouch(1).
&& & & & & & //函数返回真为放大,返回假为缩小
&& & & & & & if(isEnlarge(oldPosition1,oldPosition2,tempPosition1,tempPosition2))
&& & & & & & {
&& & & & & & //放大系数超过3以后不允许继续放大
&& & & & & & //这里的数据是根据我项目中的模型而调节的,大家可以自己任意修改
&& & & & & & & &if(distance & 3)
&& & & & & & & &{
&& & & & & & & &distance -= 0.5;
&& & & & & & & &}
&& & & & & &}else
&{
&& & & & & & & & //缩小系数返回18.5后不允许继续缩小
&& & & & & & & & //这里的数据是根据我项目中的模型而调节的,大家可以自己任意修改
&& & & & & & & & if(distance & 18.5)
&& & & & & & & & {
&& & & & & & & & distance += 0.5;
&& & & & & & & & }
&& & & & & & }
&& & & & & &//备份上一次触摸点的位置,用于对比
&& & & & oldPosition1=tempPosition1;
&oldPosition2=tempPosition2;
&& & }
&& &}
}
&
//函数返回真为放大,返回假为缩小
function isEnlarge(oP1 : Vector2,oP2 : Vector2,nP1 : Vector2,nP2 : Vector2) : boolean
{
&//函数传入上一次触摸两点的位置与本次触摸两点的位置计算出用户的手势
&& &var leng1 =Mathf.Sqrt((oP1.x-oP2.x)*(oP1.x-oP2.x)+(oP1.y-oP2.y)*(oP1.y-oP2.y));
&& &var leng2 =Mathf.Sqrt((nP1.x-nP2.x)*(nP1.x-nP2.x)+(nP1.y-nP2.y)*(nP1.y-nP2.y));
&& &if(leng1&leng2)
&& &{
&& & &//放大手势
&& & & &
&& &}else
&& &{
&& & //缩小手势
&& & & &
&& &}
}
&
//Update方法一旦调用结束以后进入这里算出重置摄像机的位置
function LateUpdate () {
&
&& &//target为我们绑定的箱子变量,缩放旋转的参照物
&& &if (target) {
&
&& & //重置摄像机的位置
&&y = ClampAngle(y, yMinLimit, yMaxLimit);
&& & & &var rotation = Quaternion.Euler(y, x, 0);
&& & & &var position = rotation * Vector3(0.0, 0.0, -distance) + target.
&
&& & & &transform.rotation =
&& & & &transform.position =
&& &}
}
&
static function ClampAngle (angle : float, min : float, max : float) {
&if (angle & -360)
&angle += 360;
&if (angle & 360)
&angle -= 360;
&return Mathf.Clamp (angle, min, max);
}
#pragma strict
&&//用于绑定参照物对象
var target : T
//缩放系数
var distance = 10.0;
//左右滑动移动速度
var xSpeed = 250.0;
var ySpeed = 120.0;
//缩放限制系数
var yMinLimit = -20;
var yMaxLimit = 80;
//摄像头的位置
var x = 0.0;
var y = 0.0;
//记录上一次手机触摸位置判断用户是在左放大还是缩小手势
private var oldPosition1 : Vector2;
private var oldPosition2 : Vector2;
//初始化游戏信息设置
function Start () {
&& &var angles = transform.eulerA
&& &x = angles.y;
&& &y = angles.x;
// Make the rigid body not change rotation
&& &if (rigidbody)
rigidbody.freezeRotation =
}
function Update ()
{
//判断触摸数量为单点触摸
if(Input.touchCount == 1)
{
//触摸类型为移动触摸
if(Input.GetTouch(0).phase==TouchPhase.Moved)
{
&& //根据触摸点计算X与Y位置
x += Input.GetAxis(&Mouse X&) * xSpeed * 0.02;
&& & & &y -= Input.GetAxis(&Mouse Y&) * ySpeed * 0.02;
//判断触摸数量为多点触摸
if(Input.touchCount &1 )
&& &{
&& &//前两只手指触摸类型都为移动触摸
&& &if(Input.GetTouch(0).phase==TouchPhase.Moved||Input.GetTouch(1).phase==TouchPhase.Moved)
&& &{
&& & & //计算出当前两点触摸点的位置
&& &var tempPosition1 = Input.GetTouch(0).
var tempPosition2 = Input.GetTouch(1).
&& & & & & &//函数返回真为放大,返回假为缩小
&& & & & & &if(isEnlarge(oldPosition1,oldPosition2,tempPosition1,tempPosition2))
&& & & & & &{
&& & & & & &//放大系数超过3以后不允许继续放大
&& & & & & &//这里的数据是根据我项目中的模型而调节的,大家可以自己任意修改
&& & & & & & & &if(distance & 3)
&& & & & & & & &{
&& & & & & & & &distance -= 0.5;
&& & & & & & & &}
&& & & & & &}else
{
&& & & & & & & &//缩小洗漱返回18.5后不允许继续缩小
&& & & & & & & &//这里的数据是根据我项目中的模型而调节的,大家可以自己任意修改
&& & & & & & & &if(distance & 18.5)
&& & & & & & & &{
&& & & & & & & &distance += 0.5;
&& & & & & & & &}
&& & & & & &}
&& & & & & &//备份上一次触摸点的位置,用于对比
&& & & &oldPosition1=tempPosition1;
oldPosition2=tempPosition2;
&& &}
&& &}
}
//函数返回真为放大,返回假为缩小
function isEnlarge(oP1 : Vector2,oP2 : Vector2,nP1 : Vector2,nP2 : Vector2) : boolean
{
//函数传入上一次触摸两点的位置与本次触摸两点的位置计算出用户的手势
&& &var leng1 =Mathf.Sqrt((oP1.x-oP2.x)*(oP1.x-oP2.x)+(oP1.y-oP2.y)*(oP1.y-oP2.y));
&& &var leng2 =Mathf.Sqrt((nP1.x-nP2.x)*(nP1.x-nP2.x)+(nP1.y-nP2.y)*(nP1.y-nP2.y));
&& &if(leng1&leng2)
&& &{
&& &//放大手势
&& & & &
&& &}else
&& &{
&& &//缩小手势
&& & & &
//Update方法一旦调用结束以后进入这里算出重置摄像机的位置
function LateUpdate () {
&&
&& &//target为我们绑定的箱子变量,缩放旋转的参照物
&& &if (target) {
&& &
&& &//重置摄像机的位置
&&y = ClampAngle(y, yMinLimit, yMaxLimit);
&& & & &var rotation = Quaternion.Euler(y, x, 0);
&& & & &var position = rotation * Vector3(0.0, 0.0, -distance) + target.
&& & & &
&& & & &transform.rotation =
&& & & &transform.position =
&& &}
}
static function ClampAngle (angle : float, min : float, max : float) {
if (angle & -360)
angle += 360;
if (angle & 360)
angle -= 360;
return Mathf.Clamp (angle, min, max);
}
function OnGUI () { &
&& & & & &
&&//将坐标信息显示在3D屏幕中
&&GUI.Label(Rect(50, 100,200,20),&x pos is& + x); &
&&GUI.Label(Rect(50, 120,200,20),&y pos is& + y ); &
&&}
要评论请先&或者&
参考下这个
:参考下这个 哇哇哇!太感谢了!真的转起来了那请问一个手指控制旋转的话,我怎么实现物体自身平移呢?请问您有物体自身平移的代码吗?太感谢了!!!抱住大神!!!!!
平移模型怎么解决???}

我要回帖

更多关于 unity 模型弯曲 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信