登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> CLQ工作室开源代码 >> 主题: 跨框架 3d 操作参考     [回主站]     [分站链接]
标题
跨框架 3d 操作参考
clq
浏览(274) + 2022-12-01 15:07:37 发表 编辑

关键字:

[2022-12-03 16:37:23 最后更新]
跨框架 3d 操作参考

参考 http://newbt.net/ms/vdisk/show_bbs.php?id=5E52705D239AD4E759EF9413ACBA9367&pid=164

还是单独开一贴吧,因为我现在其实主要用 cocos 3d /u3d 。

1.2
平滑移动
//类似于 u3d 的函数
update(deltaTime: number) {

//return;

//----------------------------------------------------------------
//参考 http://newbt.net/ms/vdisk/show_bbs.php?id=5E52705D239AD4E759EF9413ACBA9367&pid=164
//中的 u3d 示例,应该有

//let pos1:cc.math.Vec3 = {};
//let pos1:cc.Vec3 = {};

let cur_pos = this.mainCamera.node.position;

let new_pos = cur_pos.clone();

//new_pos.x = new_pos.x + 1; //cocos 中的位置单位是什么?米? //向右
//new_pos.y = new_pos.y + 1; //cocos 中的位置单位是什么?米? //向右
//new_pos.z = new_pos.z - 1; //向前

//----
if (this.cur_key == "w") new_pos.z = new_pos.z - 1; //向前
if (this.cur_key == "s") new_pos.z = new_pos.z + 1; //向前
if (this.cur_key == "a") new_pos.x = new_pos.x - 1; //向前
if (this.cur_key == "d") new_pos.x = new_pos.x + 1; //向前


//----


let speed = 0.005;
speed = 1; //表示每秒移动一个单位
cc.Vec3.lerp(new_pos, cur_pos, new_pos, deltaTime * speed);

//cocos 的函数比较奇怪,这个大概相关于 u3d 中的 新位置 = lerp(起点,终点,速度)

//this.node.setPosition(new_pos); //和下面的一样效果
this.mainCamera.node.setPosition(new_pos); //和上面的一样效果,因为这个脚本是绑定到主摄像头上的

2.
键盘事件

cc.input.on(cc.Input.EventType.KEY_DOWN, this.OnKeyDown, this);

//3.6 的写法 //按键事件
OnKeyDown(param: any) {

//cc.EventKeyboard //从浏览器调试可知 param 其类型为 EventKeyboard
//{
// "type": "keydown",
// "bubbles": false,
// "target": null,
// "currentTarget": null,
// "eventPhase": 0,
// "propagationStopped": false,
// "propagationImmediateStopped": false,
// "keyCode": 87,
// "_isPressed": true
// }

this.cur_key = String.fromCharCode(param.keyCode);

console.log(this.cur_key);
this.cur_key = this.cur_key.toLowerCase(); //转换为小写比较好

console.log(this.cur_key);

//alert(param.keyCode);

//alert(param);

}//


3.图片按钮
cocos 在 assets 中放一张 png 图片,它会当做一个 texture 。可以在属性框中将其更改为 sprite-frame,修改为 sprite-frame
后就可以当做一个 ui 组件拖放到 ui 的 canvas 中了,这时还可以给它添加 widget 组件(在自己的添加组件菜单中选择就可以了)
就可以对齐了。

4.
模型导入

c3d只支持fbx不支持dae格式,blender中导出时要选择两种“网格”和“其他”,另外的那些选项的不能跟着导出,也不能只导出“网格”,只导出“网格”的话传到丢失贴图材质。

不能像 dae 那样选择子物体就可以。这个就比不上 u3d 了。这位的话就只能一个模型是一个文件才好处理了。

注意拖放 fbx 时不要拖到 2d 的 Canvas 下,那样的话会在设计器中正常而运行时不显示。最好是拖动到空白处再移动位置。

另外 MagicaVoxel 中生成的物体似乎会被当成一个整体,材质上似乎也不好处理。尚未发现(是我自己不知道)比较好的处理方法。




总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录
跨框架 3d 操作参考 更多



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1