質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Blender

Blenderとは、オープンソースの3DCGソフトウェアです。フリーでありながら、3Dモデル作成、レンダリング、アニメーション、コンポジットなどのハイエンドに匹敵する高い機能を持ち、さらにゲームエンジンも搭載しています。

Q&A

解決済

1回答

1500閲覧

blenderで作ったOBJFileをvisualstudioで使いたい

miiichat

総合スコア72

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Blender

Blenderとは、オープンソースの3DCGソフトウェアです。フリーでありながら、3Dモデル作成、レンダリング、アニメーション、コンポジットなどのハイエンドに匹敵する高い機能を持ち、さらにゲームエンジンも搭載しています。

0グッド

0クリップ

投稿2019/03/08 15:41

blenderでOBJFileを作って、visualstudioで読み込んで表示したいです。

デスクトップに置いたobjをドラックアンドドロップでmainfileと同じところに置いただけですが、
これじゃだめなのはなんとなくわかりますが、どうしていいか、、

エラー LNK1107 ファイルが無効であるか、または壊れています: 0x2C0 を読み取れません。
#include <stdio.h> #include <vector> #include<iostream> #include<Windows.h> using std::vector; struct Vector3f { float x; float y; float z; }vec3d; struct Vector4l { int x; int y; int z; } vec4l; int main() { FILE *fp; const char *file = "untitled.obj"; char key[255] = { 0 }; vector <Vector3f> Vertex; vector <Vector4l> Face; fopen_s(&fp, file, "r"); if (fp == NULL) { printf("%sのオープンに失敗しました。\n", file); printf("Enterキーで終了。\n"); getchar(); return 0; } fseek(fp, SEEK_SET, 0); while (!feof(fp)) { ZeroMemory(key, sizeof(key)); fscanf_s(fp, "%s", key, sizeof(key)); if (strcmp(key, "v") == 0) { fscanf_s(fp, "%f%f%f", &vec3d.x, &vec3d.y, &vec3d.z); Vertex.push_back(vec3d); } } for (int i = 0; i < Vertex.size(); i++) { printf("%f,%f,%f\n", Vertex[i].x, Vertex[i].y, Vertex[i].z); } fclose(fp); getchar(); }
# Blender v2.79 (sub 0) OBJ File: '' # www.blender.org mtllib untitled.mtl o Cube v -1.000000 -1.000000 1.000000 v -1.000000 -1.000000 -1.000000 v 1.000000 -1.000000 -1.000000 v 1.000000 -1.000000 1.000000 v -1.000000 1.000000 0.999999 v -0.999999 1.000000 -1.000001 v 1.000000 1.000000 -1.000000 v 1.000000 1.000000 1.000000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 -0.0000 vn -1.0000 -0.0000 0.0000 vn 0.0000 -0.0000 -1.0000 vn 1.0000 -0.0000 0.0000 vn -0.0000 0.0000 1.0000 usemtl Material s off f 2//1 4//1 1//1 f 8//2 6//2 5//2 f 5//3 2//3 1//3 f 6//4 3//4 2//4 f 3//5 8//5 4//5 f 1//6 8//6 5//6 f 2//1 3//1 4//1 f 8//2 7//2 6//2 f 5//3 6//3 2//3 f 6//4 7//4 3//4 f 3//5 7//5 8//5 f 1//6 4//6 8//6

http://www.opengl-tutorial.org/jp/beginners-tutorials/tutorial-7-model-loading/
https://www21.atwiki.jp/opengl/pages/86.html
https://teratail.com/questions/176079#

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

その obj は 3D データです。C でリンクして使うファイルとは別物です。リンクしようとするのは間違いなので忘れてください。

標準では表示する機能は無いので、3D データを表示するためのライブラリを使うか、または 2D 画像としてエクスポートして表示してください。

C を選んだのは obj ファイルに関係がありそうということだったんだと思いますが、先ほど述べたように関係ないので別の言語でもいいのではないですか?

C# の方が向いてそうな気がします。「C# 3Dモデル」で検索してみてください。

たとえば C#で3Dモデル表示(VTKのC#ラッパActiVizによる方法) が見つかりましたが、できそうじゃありませんか?

var actor1 = ActorFromObjFile("model1.obj");

投稿2019/03/08 22:45

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2019/03/09 03:45 編集

https://teratail.com/questions/176079 同じ質問ですね。 マルチポストはやめてください。 ちゃんと回答がついていますから、不明な点があれば新しく質問するのではなくそこに問い合わせてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問